我想通过systemPath从相对于我的项目目录结构的本地文件系统添加jar文件,而不是在远程存储库上。我添加了依赖声明,但是maven并没有做任何其他事情。
在下面的声明中,我希望将jar文件复制到目标web-inf / lib目录中,并作为war文件的一部分进行jared。目前,这还没有发生。我如何将jar文件复制到我的war文件中?
这是调试maven模式的输出:
DEBUG] cglib:cglib-nodep:jar:2.2:test (setting scope to: compile)^M DEBUG] Retrieving parent-POM: org.objenesis:objenesis-parent:pom:1.2 for project: null:objenesis:ja DEBUG] org.objenesis:objenesis:jar:1.2:test (selected for test)^M DEBUG] org.javap.web:testRunWrapper:jar:1.0.0:system (selected for system)^M DEBUG] Plugin dependencies for: ... <dependency> <groupId>org.javap.web</groupId> <artifactId>testRunWrapper</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${basedir}/lib/testRunWrapper.jar</systemPath> </dependency> <plugin> <artifactId>maven-war-plugin</artifactId> <configuration> <webResources> <resource> <directory>WebContent</directory> </resource> </webResources> </configuration> </plugin>
好的,我这样做了:请注意底部的目录结构。使用下面的方法,相对于其他jar,来自相对项目路径的jar文件被视为一等公民。下面的清单更正了我的原始问题。使用下面列出的pom.xml,将jar文件复制到我的目标目录。
<repositories> <repository> <id>JBoss</id> <name>JBoss Repository</name> <layout>default</layout> <url>http://repository.jboss.org/maven2</url> </repository> <repository> <id>my-local-repo</id> <url>file://${basedir}/lib/repo</url> </repository> </repositories> <dependency> <groupId>testRunWrapper</groupId> <artifactId>testRunWrapper</artifactId> <version>1.0.0</version> </dependency>
$ find repo repo repo/testRunWrapper repo/testRunWrapper/testRunWrapper repo/testRunWrapper/testRunWrapper/1.0.0 repo/testRunWrapper/testRunWrapper/1.0.0/testRunWrapper-1.0.0.jar