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

Maven汇编插件不包括项目包[重复]

柴兴贤
2023-03-14
<build>

    <!-- To parse properties files under resources folder : -->
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.3.0</version>
            </plugin>
        </plugins>
    </pluginManagement>

    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.0.0</version>
            <configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
                <archive>
                    <manifest>
                        <mainClass>com.acme.qpguard.editor.Application</mainClass>
                    </manifest>
                </archive>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id> <!-- this is used for inheritance merges -->
                    <phase>package</phase> <!-- bind to the packaging phase -->
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>

</build>
Error: Could not find or load main class com.acme.qpguard.editor.Application

共有1个答案

充子航
2023-03-14

谢谢,@Mayur和@Randy Casburn。您的指针绝对帮助我找到一个修复使用maven阴影插件。

我发布了修复程序,因为有人可能会在以后的时间点发现这很有用

    <build>
    <!-- To parse properties files under resources folder : -->
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
    <pluginManagement>
        <plugins>
            <plugin>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.4.3</version>
            </plugin>
        </plugins>
    </pluginManagement>

    <plugins>
        <plugin>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.4</version>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>2.4.3</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>

                        <filters>
                            <filter>
                                <artifact>*:*</artifact>
                                <excludes>
                                    <exclude>META-INF/*.SF</exclude>
                                    <exclude>META-INF/*.DSA</exclude>
                                    <exclude>META-INF/*.RSA</exclude>
                                </excludes>
                            </filter>
                        </filters>

                        <transformers>
                            <transformer
                                implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                <mainClass>com.acme.qpguard.editor.Application</mainClass>
                            </transformer>
                        </transformers>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>

</build>

注意:我必须应用一个过滤器来从一些JAR中删除签名文件,因为它破坏了执行。

 类似资料:
  • 我是IntelliJ和Gradle的新手,我有一个Maven项目,有很多依赖项,它自己工作。现在我应该使用该项目中的库,并在Gradle中为IntelliJ创建一个插件。 我尝试了各种方法在IntelliJ模块设置中添加依赖项,这允许我使用所需的类来编写代码并构建代码。然而,当我试图启动插件时,它再也找不到类了。我想我需要在构建中详细说明这些。但我不明白到底是如何做到的,因为我尝试的所有方法都不起

  • 现有结构:src/test/java-- 更新:我也尝试了构建助手插件 现在,如果我运行“测试”目标,我看到添加了C:\Developer\Code\myProj\rc\test\groovy。 但是我没有看到任何为groovy文件生成的类。 最后的答案,感谢@khmarbaise,我刚刚升级了版本,并删除了GMaven编译

  • 我正在使用Maven Shade插件在打包阶段包含所有依赖项。这适用于类,但不包括依赖资源。 以下是依赖罐的布局: 以下是阴影插件配置:

  • 我正在用cxf-xjc生成webservice工件,并试图用构建助手插件将它们添加到源代码中。当它在单个Maven项目中使用时,它工作正常,但是现在我已经进入了一个多模块项目,生成的类没有作为源代码包含在内。 类被正确地生成,构建帮助插件在类生成后执行。构建助手的输出显示了类所在的正确的源目录路径,并显示了“添加”。 波姆。xml 控制台剪 在我将其移动到模块之前,此配置工作正常。我已经更改为生成

  • 我正试图让maven下载所有的依赖项(编译、测试、插件等)。)这样我就可以避免让我们的dockerized构建浪费不必要的时间一遍又一遍地下载它们。 我们已经对maven build进行了dockerized,这样我们就可以从jenkins运行它,而无需在jenkins机器上安装大量构建特定的依赖项(Java、redis、maven依赖项等)。我们的构建依赖于增量docker构建,它只执行实际需要

  • 问题内容: 我不想在Maven存储库(本地/远程)中安装几个jar。特别是我有一些jar文件位于 使用NetBeans打开/编辑时如何将它们包括到我的项目中? 问题答案: 您是否考虑过将这两个JAR添加为依赖项?例如, 请注意,不建议这样做,如果有的话,应该非常谨慎地使用它。