我的maven项目中的jar包只能下载到maven默认的target那下面,因为每次更改一点东西都要去重新package,很蛋疼,所以要改到我指定的目录下,但是问题来了,maven导下来的jar包无论怎样都搞不到我想指定的目录下,花了很长时间来研究这个问题,终于解决了!!
pom.xml中一定要加入这个东西,只要有这个就可以把maven依赖的jar包拷贝到htdocs/WEB-INF/lib下,也就是指定的目录下,下面classpath只需要配置类和资源文件的编译输出路径就可以了,花了2个小时来找问题,坑爹啊
pom.xml
1 <plugin> 2 3 <groupId>org.apache.maven.plugins</groupId> 4 5 <artifactId>maven-dependency-plugin</artifactId> 6 7 <version>2.1</version> 8 9 <executions> 10 11 <execution> 12 13 <id>copy</id> 14 15 <phase>package</phase> 16 17 <goals> 18 19 <goal>copy-dependencies</goal> 20 21 </goals> 22 23 <configuration> 24 25 <outputDirectory>htdocs/WEB-INF/lib</outputDirectory> 26 27 </configuration> 28 29 </execution> 30 31 </executions> 32 33 </plugin>
classpath文件 只需要把类和资源文件的编译输出路径改成自己指定的目录即可 如我指定的目录为htdocs/WEB-INF/classes
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <classpath> 4 5 <classpathentry kind="src" path="src/main/java"/> 6 7 <classpathentry kind="src" path="src/main/resources"/> 8 9 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> 10 11 <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/> 12 13 <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/> 14 15 <classpathentry kind="output" path="htdocs/WEB-INF/classes"/> 16 17 </classpath>
我的项目实践证明,并不需要像网上很多帖子所说的那样加个
1 <attributes> 2 3 <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> 4 5 </attributes>
这个配置就ok,事实上,只要pom.xml中有了上面的配置,这里就没有必要配这个,上面的classpath文件就已经可以解决问题
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <classpath> 4 5 <classpathentry kind="src" output="htdocs/WEB-INF/classes" path="src/main/java"/> 6 7 <classpathentry kind="src" output="target/test-classes" path="src/test/java"/> 8 9 <classpathentry kind="src" path="src/main/resources"/> 10 11 <classpathentry kind="src" path="src/test/resources"/> 12 13 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> 14 15 <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"> 16 17 <attributes> 18 19 <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> 20 21 </attributes> 22 23 </classpathentry> 24 25 <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/> 26 27 <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/> 28 29 <classpathentry kind="output" path="htdocs/WEB-INF/classes"/> 30 31 </classpath>
问题解决了!