Tapestry5之AutoLoading Module

开源项目的一个好处就是能够任意的更改他人的代码为自己所用。

最近有一个实验需要更改寄存的jar包,并且这个jar包还传递依赖到许多其它的jar包,并且这个jar包是一个拥有Tapestry目录结果的jar包

1 更改寄存的jar包

这个比较简单,就是找到原代码,进行修改。但是因为是maven工程,所以需要有maven工程指定的结构。

    

2 传递依赖到许多其它的jar包

这个也比较简单,找到原来的pom.xml,把除了本项目描述的地方之外全部拷进去。

3 拥有Tapestry目录结果的jar包

因为我们在启动服务器的时候,服务器会加载所有的项目的Module(只限于Tapestry),所以我们需要通知服务器那个是Tapestry的Module。

告诉服务器Module的位置,即帮助指定:Tapestry-Module-Classes参数。

需要在pom.xml文件中追加如下的代码:

<project>
  . . .
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <archive>
            <manifestEntries>
              <Tapestry-Module-Classes>org.example.mylib.LibModule,
                org.example.mylib.internal.InternalModule</Tapestry-Module-Classes>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
    </plugins>
  </build>
  . . .
</project>

可以指定多个,一般情况下指定一个就可以了。

posted @ 2013-04-03 22:33  VoctrALs  阅读(203)  评论(0编辑  收藏  举报