Java 缺少带有Maven AddJar插件的JAR

Java 缺少带有Maven AddJar插件的JAR,java,maven,jar,classpath,Java,Maven,Jar,Classpath,当我运行jar文件时,它会在运行时从依赖项(maven addjars插件中包含)访问类,我得到一个java.lang.NoClassDefFoundError错误 注意:通过在POM.xml中指定依赖项,我还正常地包含了一些JAR,我只使用addjar插件来创建我只在本地拥有的自定义JAR POM.XML的一部分(如果您需要更多信息,请告知) 安装 ${basedir}/目标 ${project.artifactId}-${project.version} maven jar插件 交换者 c

当我运行jar文件时,它会在运行时从依赖项(maven addjars插件中包含)访问类,我得到一个
java.lang.NoClassDefFoundError
错误

注意:通过在POM.xml中指定依赖项,我还正常地包含了一些JAR,我只使用addjar插件来创建我只在本地拥有的自定义JAR

POM.XML的一部分(如果您需要更多信息,请告知)


安装
${basedir}/目标
${project.artifactId}-${project.version}
maven jar插件
交换者
com.googlecode.addjars-maven-plugin
addjars maven插件
1.0.5
加罐
${basedir}/my repo
....
昂首阔步
昂首阔步
2.1.4-快照
swagger库被复制到“target/com.googlecode.addjars maven plugin”文件夹中,idk是存放这些库的合适位置,因为我没有看到从maven存储库下载的库。但在运行时找不到该类

更新: 当使用mvn exec而不是java-jar运行时,程序将运行


有人知道我做错了什么吗?

尝试在清单文件中添加类路径元素。您可能需要true my repo/Hi我尝试了它,但奇怪的是,当访问我在add jar插件之外包含的jar时,它更快地抛出了相同的错误。请尝试${project.build.directory}/my repo,而不是${basedir}/my repo,由于编译jar将进入目标文件夹并从它们的文件夹运行,所以它将运行。这是真的,我做到了,但仍然没有找到maven依赖项……好的,我找到了Duncans的解决方法
<build>
    <defaultGoal>install</defaultGoal>
    <directory>${basedir}/target</directory>
    <finalName>${project.artifactId}-${project.version}</finalName>
    <pluginManagement>
    <plugins>
        <plugin>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>Swapper</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
        <plugin>
            <groupId>com.googlecode.addjars-maven-plugin</groupId>
            <artifactId>addjars-maven-plugin</artifactId>
            <version>1.0.5</version>
            <executions>
                <execution>
                    <goals>
                        <goal>add-jars</goal>
                    </goals>
                    <configuration>
                        <resources>
                            <resource>
                                <directory>${basedir}/my-repo</directory>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
    </pluginManagement>
</build>
....
<dependency>
    <groupId>io.swagger</groupId>
    <artifactId>swagger-codegen</artifactId>
    <version>2.1.4-SNAPSHOT</version>
</dependency>