当前位置: 首页 > 知识库问答 >
问题:

无法使用maven pom和eclipse一致地创建src/test/java模块jar

隗俊誉
2023-03-14

无法使用maven pom和eclipse目标一致地创建src/test/java模块jar

这是我的pom文件:当我通过runconfig使用eclipse运行时--

如果我运行compile assembly:single-in-goals,它会创建SFDCSearchSuite-0.0.1-SNAPSHOT-jar-with-dependencies。每次使用所有src/main/java类的jar。

我可以做什么来创建测试SFDCSearchSuite-0.0.1-SNAPSHOT-tests.jar与所有测试模块类一致。

有谁能把解决办法寄给我吗,谢谢

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>SFDCSearchSuite</groupId>
<artifactId>SFDCSearchSuite</artifactId>
<version>0.0.1-SNAPSHOT</version>

<dependencies>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.42.2</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-chrome-driver</artifactId>
        <version>2.42.2</version>
    </dependency>
    <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.6</version>
    </dependency>   
    <dependency>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.4.3</version>
    </dependency>

</dependencies>
<build>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </resource>
        <resource>
            <directory>src/test/java</directory>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </resource>
    </resources>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>com.package.ClasseName</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-jar-plugin</artifactId>
            <executions>
                <execution>
                    <id>test-jar</id>
                    <phase>package</phase>
                    <goals>
                        <goal>test-jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
    <pluginManagement>
        <plugins> <!-- This plugin's configuration is used to store Eclipse m2e settings only. 
                It has no influence on the Maven build itself. -->
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>
                                        org.apache.maven.plugins
                                    </groupId>
                                    <artifactId>
                                        maven-compiler-plugin
                                    </artifactId>
                                    <versionRange>
                                        [2.3.2,]
                                    </versionRange>
                                    <goals>
                                        <goal>compile</goal>
                                        <goal>testCompile</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <ignore></ignore>
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

共有1个答案

史淳
2023-03-14

我得到了答案:

mvn clean install -DskipTests

Add this in your pom.xml

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <executions>
      <execution>
        <phase>package</phase>
        <goals>
          <goal>single</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
      <descriptorRefs>
        <descriptorRef>jar-with-dependencies</descriptorRef>
      </descriptorRefs>
    </configuration>
  </plugin>
 类似资料:
  • 从文档中可以看出,这在spring-boot-maven-plugin中是不可能的。 所以现在我正在尝试创建一个测试JAR,但是当我运行应用程序类时,我得到了 有没有关于如何在没有maven插件的情况下打包SpringBoot应用程序的文档?

  • 我创建了一个E2E测试项目,最初,所有的java类都在'src/test/java“中,但现在我想把所有不包含测试的文件移到”src/main/java“文件夹中,问题就出在我做了之后: 我不能将包从”src/test/java“导入到”src/main/java“(但可以做相反的操作)。 清理了项目,并尝试通过IDE和maven运行,但它并没有改变结果。 我做错了什么?

  • 我成功地将一个eclipse(Luna4.4)Java项目转换为Maven。为了使用JUnit,我将其添加为maven依赖项。下面是我在Eclipse中看到的结果项目结构: 我希望添加JUnit还会创建源代码文件夹来保存我的JUnit源代码,但它不在那里。这是意料之中的吗?在从Java项目转换后,是否必须手动添加这些文件夹?当我在eclipse中创建一个新的Maven项目并添加相同的JUnit依赖

  • 4.4.1 模块的创建和使用 在 Python 语言中,模块对应于 Python 程序文件,即每个 Python 程序文件就是一个模块。 模块是 Python 程序的最高层结构单元,用于组织程序的代码和数据,以便能被同一程 序的其他模块甚至被其他程序重用。一个模块可以导入其他模块,导入后就可以使用其他模 块中定义的函数、类等对象。 用模块作为程序的结构单元,至少有三个作用: (1)代码重用:将代码

  • 问题内容: 我在使用以下配置运行Eclipse时遇到问题: eclipse.ini 除添加上面指定的行外,以上配置均有效。可能是什么问题呢? 我从具有4GB内存的Windows 7(64位)计算机上运行eclipse,尽管我在路径中指定的JDK是32位,这很好用。唯一的问题是,如果我添加这些其他配置参数。 问题答案: eclipse.ini中有两个地方,其中包括 做了

  • 我将转向maven多模块构建。 我的项目结构如下所示: 是一个Maven Eclipse项目,由M2E构建。 我添加了MyProject-Core/src/main/java作为Eclipse源文件夹,但由于我将父pom中的依赖项部分更改为dependencyManagement,因此我从Eclipse中得到了构建错误。手动调用mvn包仍然可以正常工作。 如何配置Eclipse以正确解决核心pom