开源项目的一个好处就是能够任意的更改他人的代码为自己所用。
最近有一个实验需要更改寄存的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>
可以指定多个,一般情况下指定一个就可以了。