标签: maven-jar-plugin

Maven:此项目的包装未将文件分配给构建工件

我在Mac 10.6.6上使用Maven 3.0.3.我有一个JAR项目,当我运行命令"mvn clean install:install"时,我收到错误,

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-install-plugin:2.3.1:install (default-cli) on project StarTeamCollisionUtil: The packaging for this project did not assign a file to the build artifact -> [Help 1]
Run Code Online (Sandbox Code Playgroud)

这是什么意思,我该如何解决?下面是我的pom.xml.让我知道其他信息会有所帮助,我会编辑这篇文章.谢谢, - 戴夫

<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>com.myco.starteam.util</groupId>
<artifactId>StarTeamCollisionUtil</artifactId>
<packaging>jar</packaging>
<name>StarTeam Collision Util</name>
<description>
    The StarTeam Collision Utility provides developers and release engineers alike the ability to
    compare files attached to a set of CRs to see if conflicts exist in the change set.
</description>
<version>1.0-SNAPSHOT</version> …
Run Code Online (Sandbox Code Playgroud)

pom.xml maven-3 maven maven-jar-plugin maven-install-plugin

101
推荐指数
5
解决办法
9万
查看次数

mavenArchiver.getManifest()中的m2e错误

我在STS中看到一个错误,我不确定如何调试它.搜索我只看到错误的模糊引用,没有解决方案.

错误是:

org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration) pom.xml/ <maven projectName>第1行Maven配置问题

问题:任何人都可以就如何获得有关该问题的更多信息提出任何建议,以便进一步调试或任何可能的解决方案?

可能还有一些关于方法功能的更多背景信息.与该MavenArchiver.getManifest()方法关联的javadoc 不是非常详细,我看不到堆栈跟踪.我已经尝试过几次刷新和更新项目和相关项目,包括清除我当地的m2回购.

STS信息:

  • 版本:3.7.3.RELEASE
  • Build Id:201602250940
  • 平台:Eclipse Mars.2(4.5.2)

m2e信息:

  • 版本:1.6.2.20150902-0002

eclipse maven-3 maven maven-jar-plugin m2e

96
推荐指数
6
解决办法
11万
查看次数

如何在maven-shade-plugin创建的Jar中包含测试类?

我正在尝试使用Maven将我的测试类打包到一个带有依赖项的可执行jar中,但我很难做到这一点.

到目前为止这是我的pom.xml:

<project>
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.c0deattack</groupId>
    <artifactId>executable-tests</artifactId>
    <version>1.0</version>
    <packaging>jar</packaging>

    <name>executable-tests</name>

    <dependencies>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>1.0.0</version>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>1.0.0</version>
        </dependency>

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>2.21.0</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.10</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>test-jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>1.6</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <finalName>cucumber-tests</finalName>
                            <transformers>
                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>cucumber.cli.Main</mainClass>
                                </transformer>
                            </transformers>
                            <artifactSet>
                                <includes>
                                    <include>info.cukes:*</include>
                                </includes>
                            </artifactSet>
                        </configuration>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>com.c0deattack</groupId>
                        <artifactId>executable-tests</artifactId>
                        <version>1.0</version>
                        <type>test-jar</type>
                    </dependency>
                </dependencies>
            </plugin> …
Run Code Online (Sandbox Code Playgroud)

java dependencies maven maven-jar-plugin maven-shade-plugin

30
推荐指数
2
解决办法
2万
查看次数

如何将测试类包含到Maven jar中并执行它们?

在Maven项目中,我在同一个包中有测试类和源类,但是在不同的物理位置.

.../src/main/java/package/** <-- application code
.../src/test/java/package/** <-- test code
Run Code Online (Sandbox Code Playgroud)

访问测试类中的源类没有问题,但是我想在main方法中运行一个测试运行器并访问它,AllTest.class以便我可以创建jar并执行我的测试.

 public static void main(String[] args) {
    // AllTest not found
    Result result = JUnitCore.runClasses(AllTest.class);
    for (Failure failure : result.getFailures()) {
        System.out.println(failure.toString());
    }
    System.out.println(result.wasSuccessful());
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用,因为我无法访问测试代码.我不明白,因为他们在同一个包中.

问题:如何从应用程序类访问测试类?或者,Maven如何打包包含测试类和执行测试的胖罐?

java unit-testing maven-3 maven maven-jar-plugin

27
推荐指数
1
解决办法
3万
查看次数

Maven JAR插件3.0.2错误:您必须使用分类器将补充工件附加到项目而不是替换它们

Maven JAR插件(版本3.0.2)不断抛出以下错误,即使是对jar目标的单个调用:

[错误]无法在项目测试中执行目标org.apache.maven.plugins:maven-jar-plugin:3.0.2:jar(默认):您必须使用分类器将补充工件附加到项目而不是替换它们. - > [帮助1]

这是一个(最小?)pom.xml,它演示了这个问题:

<project xmlns="http://maven.apache.org/POM/4.0.0">
  <modelVersion>4.0.0</modelVersion>

  <groupId>test</groupId>
  <artifactId>test</artifactId>
  <version>1.0.0-SNAPSHOT</version>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <version>3.0.2</version>
        <executions>
          <execution>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
Run Code Online (Sandbox Code Playgroud)

调用只是mvn package.

  • 是否存在任何类/资源似乎并不重要 - 无论如何都会出现上述错误消息.
  • 如果指定了两个目标(jartest-jar),也会出现问题.
  • 如果指定目标,则不会出现此问题.但这不是一个选择,因为我真的需要两个jartest-jar.

根据文档,classifier只需要在同一目标的多个调用中指定,并且对于test-jar我不打算更改的目标存在合理的默认值.

此外,问题似乎没有出现在JAR插件的2.x行上.

我错过了什么?有谁可以建议我做错了什么?

PS Maven版本是3.3.9.

java jar maven maven-jar-plugin

24
推荐指数
3
解决办法
2万
查看次数

禁用执行:default-jar

我正在使用maven程序集插件来打包一个jar文件.但是当我运行时mvn package,maven总是触发[jar:jar {execution:default-jar}]来创建一个默认的jar文件.所以我将有2个jar文件(一个由程序集插件创建,另一个由maven jar创建,我不想创建).如何关闭执行:default-jar.

在我的pom.xml中,我正在使用: <packaging>jar</packaging>.我不想改变它<packaging>pom</packaging>.

maven-2 jar maven maven-assembly-plugin maven-jar-plugin

17
推荐指数
1
解决办法
1万
查看次数

UnsupportedClassVersionError:已由更新版本的 Java 运行时(类文件版本 55.0)编译,此版本 (..) 最高为 52.0

我正在尝试启动为 Spring Boot 项目构建的 jar 文件。首先我做了:

mvn clean package spring-boot:repackage
Run Code Online (Sandbox Code Playgroud)

然后我尝试启动 jar 文件,但出现以下错误:

线程“main”中出现异常 java.lang.UnsupportedClassVersionError:it/sysdata/helios_backend_admin/HeliosAdminBackendApplication 已由更新版本的 Java 运行时(类文件版本 55.0)编译,此版本的 Java 运行时仅识别类文件版本到 52.0 在 java.lang.ClassLoader.defineClass1(本机方法) 在 java.lang.ClassLoader.defineClass(未知来源) 在 java.security.SecureClassLoader.defineClass(未知来源) 在 java.net.URLClassLoader.defineClass(未知来源)在 java.net.URLClassLoader.access$100(未知来源) 在 java.net.URLClassLoader$1.run(未知来源) 在 java.net.URLClassLoader$1.run(未知来源) 在 java.security.AccessController.doPrivileged(本机方法) )在 java.net.URLClassLoader.findClass(未知来源) 在 java.lang.ClassLoader.loadClass(未知来源) 在 org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:93) 在 java.lang.ClassLoader .loadClass(来源不明)在org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:46)在org.springframework.boot.loader.Launcher.launch(Launcher.java:87)在org.springframework.boot .loader.Launcher.launch(Launcher.java:50) 在 org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)

我检查过,java版本到处都是11(至少从我所看到的)。这是 pom:

<?xml version="1.0" encoding="UTF-8"?>
<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>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.2.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>
    <groupId>it.sysdata</groupId>
    <artifactId>helios_backend_admin</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>helios-admin-backend</name>
        <packaging>jar</packaging>
    <description>Helios Backend …
Run Code Online (Sandbox Code Playgroud)

java executable-jar maven maven-jar-plugin spring-boot

15
推荐指数
4
解决办法
9万
查看次数

如何使用Maven组件插件与多模块maven项目

我是maven的新手,花了大约3天时间使用汇编插件生成zip文件,参考http://www.petrikainulainen.net/programming/tips-and-tricks/creating-a-runnable-binary-distribution-with- maven-assembly-plugin /我的项目是多模块的,所以我也提到使用Maven程序集插件管理多模块依赖项

我还有几个效率低下的问题.下面是assembly.xml(我从第一个链接继承)

 <assembly>
<id>bin</id>
<!-- Generates a zip package containing the needed files -->
<formats>
    <format>zip</format>
</formats>

<!-- Adds dependencies to zip package under lib directory -->
<dependencySets>
    <dependencySet>
        <!-- Project artifact is not copied under library directory since it is 
            added to the root directory of the zip package. -->
        <useProjectArtifact>false</useProjectArtifact>
        <outputDirectory>lib</outputDirectory>
        <unpack>false</unpack>

    </dependencySet>
</dependencySets>
<moduleSets>
    <moduleSet>

        <!-- Enable access to all projects in the current multimodule build! <useAllReactorProjects>true</useAllReactorProjects> -->

        <!-- Now, select which …
Run Code Online (Sandbox Code Playgroud)

maven maven-assembly-plugin maven-jar-plugin

14
推荐指数
2
解决办法
2万
查看次数

JDK9和maven-jar-plugin

我刚刚使用全新的Java9官方版本升级了我的Java8项目.

该项目使用Maven插件org.apache.maven.plugins:maven-jar-plugin2.6版.当我运行mvn clean install时,我现在得到以下异常:

ERROR] Failed to execute goal org.apache.maven.plugins:maven-jar-plugin:2.6:jar (default-jar) on project my-test-utils: Execution default-jar of goal org.apache.maven.plugins:maven-jar-plugin:2.6:jar failed: An API incompatibility was encountered while executing org.apache.maven.plugins:maven-jar-plugin:2.6:jar: java.lang.ExceptionInInitializerError: null
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>org.apache.maven.plugins:maven-jar-plugin:2.6
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/Users/jeanvaljean/.m2/repository/org/apache/maven/plugins/maven-jar-plugin/2.6/maven-jar-plugin-2.6.jar
[ERROR] urls[1] = file:/Users/jeanvaljean/.m2/repository/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14-1.5.6.jar
[ERROR] urls[2] = file:/Users/jeanvaljean/.m2/repository/org/slf4j/jcl-over-slf4j/1.5.6/jcl-over-slf4j-1.5.6.jar
[ERROR] urls[3] = file:/Users/jeanvaljean/.m2/repository/org/apache/maven/reporting/maven-reporting-api/2.2.1/maven-reporting-api-2.2.1.jar
[ERROR] urls[4] = file:/Users/jeanvaljean/.m2/repository/org/apache/maven/doxia/doxia-sink-api/1.1/doxia-sink-api-1.1.jar
[ERROR] urls[5] = file:/Users/jeanvaljean/.m2/repository/org/apache/maven/doxia/doxia-logging-api/1.1/doxia-logging-api-1.1.jar
[ERROR] urls[6] = file:/Users/jeanvaljean/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar
[ERROR] urls[7] = file:/Users/jeanvaljean/.m2/repository/commons-cli/commons-cli/1.2/commons-cli-1.2.jar
[ERROR] urls[8] = file:/Users/jeanvaljean/.m2/repository/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar
[ERROR] urls[9] …
Run Code Online (Sandbox Code Playgroud)

java maven maven-jar-plugin java-9

11
推荐指数
1
解决办法
7613
查看次数

使用分类器更改工件的maven依赖关系

使用maven jar插件,我构建了两个jar:bar-1.0.0.jar和bar-1.0.0-client.jar.

实际上在我的POM中我有以下依赖:

<dependency>   
   <groupId>de.app.test</groupId>
   <artifactId>foo</artifactId>
   <version>1.0.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

此工件也存在于两个版本bar-1.0.0.jar和bar-1.0.0-client.jar中

我想使bar-1.0.0-client.jar依赖于foo-1.0.0-client.jar和bar-1.0.0.jar依赖于foo-1.0.0.jar.

================

- >第一个(错误的)解决方案:定义提供的范围,并在使用bar.jar时使用正确的foo包

- >第二个(长)解决方案:将"服务器"分类器添加到另一个jar中.使用不同的配置文件来构建foo工件并将分类器放在属性中.

<dependency>
    <groupId>de.app.test</groupId>
    <artifactId>foo</artifactId>
    <version>1.0.0</version>
    <classifier>${profile.classifier}<classifier>
</dependency>
Run Code Online (Sandbox Code Playgroud)

================
关于配置文件解决方案.

接口模块pom

<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/maven-v4_0_0.xsd">
    <parent>
        <groupId>com.app</groupId>
        <artifactId>myapp-parent</artifactId>
        <version>1.1.0</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.app</groupId>
    <artifactId>myapp-interfaces</artifactId>
    <version>1.1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>myapp Interfaces</name>
    <profiles>
        <profile>
            <id>server</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-jar-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>jar-server</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                                <configuration>
                                    <classifier>server</classifier>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>client</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-jar-plugin</artifactId>
                        <executions>
                            <execution> …
Run Code Online (Sandbox Code Playgroud)

maven-2 classification dependency-management maven-plugin maven-jar-plugin

10
推荐指数
1
解决办法
2万
查看次数