换句话说,现在我的单元测试的类路径设置为:/$projectpath/target/classes/
。
相反,我希望将此类路径设置为:/$projectpath/target/myjarfile.jar
。
我曾尝试手动添加和删除依赖项类,如下所示:http://maven.apache.org/plugins/maven-surefire-plugin/examples/configuring-classpath.html,但到目前为止还不起作用。
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.mygroupid</groupId>
<artifactId>myartifact</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
...
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.1.2</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
<configuration>
<includeScope>runtime</includeScope>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>process-resources</phase>
<!-- <phase>package</phase> -->
<goals>
<goal>copy-dependencies</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.3</version>
<configuration>
<classpathDependencyExcludes>
<classpathDependencyExclude>
${project.build.outputDirectory}
</classpathDependencyExclude>
</classpathDependencyExcludes>
<additionalClasspathElements>
<additionalClasspathElement>
${project.build.directory}/${project.build.finalName}.${project.packaging}
</additionalClasspathElement>
</additionalClasspathElements>
</configuration>
</plugin>
</plugins>
</build>
</project>
作为测试生命周期阶段的一部分执行的标准单元测试看不到项目JAR,因为test
阶段在package
阶段之前执行,所以测试是在Maven生成JAR之前运行的。有关生命周期阶段及其顺序的列表,请参见此页。
您希望它将测试作为集成测试运行,集成测试在integration-test
阶段执行。
有许多关于设置Maven以运行集成测试的教程。这里和这里有两个开始。failsafe插件通常用于执行集成测试。
我用eclipse创建了一个maven项目,并用下面的命令制作了jar文件 打包 当我尝试知道我的mvn项目配置是真的还是不是这个命令 mvn exec:Java-D exec . main class = " giraph . hello world . app " 我得到这个错误: 在helloworld项目上执行目标 org.codehaus.mojo: exec-maven-plugin:
问题内容: 我有一个独立的Java项目。我已经执行了Maven全新安装。现在,我通过命令提示符进入target \ classes文件夹,并在classpath中设置所有必需的文件。现在我执行主类。结果正在显示。 现在,我通过命令提示符移回目标文件夹,并尝试执行jar文件(jar文件具有在其中定义了主类的清单文件)。 现在,我得到以下异常。我也从上面的语句中删除了classpath属性,但仍然遇到
我正在将Apache FOP 1.0项目升级到Apache FOP 2.1。在这个项目中,所有必要的文件都打包在jar文件中。 我添加了新的FopFactoryBuilder以生成FopFactory 但是我所有的资源都是从文件系统上的相对路径加载的,而不是从 jar 加载的。如何将 baseURI 设置为 jar 的类路径? 谢谢。
我试图将外部jar设置为hadoop类路径,但目前还没有成功。 我可以看到上面的HADOOP_CLASSPATH已经被hadoop接收 $hadoop类路径 /etc/hadoop/conf:/usr/lib/hadoop/lib/://usr/lib/hadoop/.//:/home/tom/workspace/libs/opencsv-2.3.jar://usr/lib/hadoop-hdfs
为了在命令行上运行TestNG测试,我必须在类路径中设置TestNG。为了做到这一点,我经历了- 无法通过命令行执行TestNG套件文件
但不走运,未设置自定义运行时类路径。