Maven打包项目作为具有依赖关系的可执行JAR

MathanMV

我是Maven新手,在将Java项目打包为可执行Jar时遇到困难。从IDE(IntelliJ)运行该程序时,该程序可以编译并正常运行。

我有以下pom.xml文件:

<?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>
    <groupId>com.mathanv</groupId>
    <artifactId>AlgorithmicDebugger</artifactId>
    <packaging>jar</packaging>
    <version>0.1</version>
    <name>Algorithmic Debugger</name>
    <properties>
        <jdk.version>1.6</jdk.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>net.sf.jung</groupId>
            <artifactId>jung-graph-impl</artifactId>
            <version>2.0.1</version>
        </dependency>
        <dependency>
            <groupId>net.sf.jung</groupId>
            <artifactId>jung-visualization</artifactId>
            <version>2.0.1</version>
        </dependency>
        <dependency>
            <groupId>com.sun</groupId>
            <artifactId>tools</artifactId>
            <version>1.4.2</version>
            <scope>system</scope>
            <systemPath>${java.home}/../lib/tools.jar</systemPath>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>${jdk.version}</source>
                    <target>${jdk.version}</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.5</version>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <mainClass>com.mathanv.Main</mainClass>

                        </manifest>
                    </archive>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.5.1</version>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/dependency-jars/</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

        </plugins>
    </build>



</project>

目标目录如下所示:

在此处输入图片说明

但是,当我从终端运行应用程序时,我得到:

mathan:target Mathan$ java -jar AlgorithmicDebugger-0.1.jar

    Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/jdi/IncompatibleThreadStateException
        at com.mathanv.Main.main(Main.java:15)
    Caused by: java.lang.ClassNotFoundException: com.sun.jdi.IncompatibleThreadStateException
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        ... 1 more

我认为可能是该项目没有找到tools.jar?但它在我创建的依赖文件夹中。

MathanMV

使用One-JAR将所有依赖项构建到一个可执行JAR中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用maven的具有依赖项的可执行jar

来自分类Dev

具有sbt-assembly的单个项目中具有不同外部依赖项的多个可执行jar文件

来自分类Dev

使用Maven将外观依赖打包到可执行jar中

来自分类Dev

Apache Spark Hive,具有Maven阴影的可执行JAR

来自分类Dev

从 Maven 项目制作可执行 JAR

来自分类Dev

Eclipse:如何使用带有外部项目依赖项的ant构建可执行jar?

来自分类Dev

具有依赖关系的Debian打包(从头开始)

来自分类Dev

没有主要类别的硒testng Maven项目的可执行jar

来自分类Dev

具有依赖关系的异步任务执行

来自分类Dev

如何从多模块Maven项目构建可执行jar?

来自分类Dev

Maven和Netbeans:如何构建项目并获取可执行jar?

来自分类Dev

打包具有依赖项的.jar时的最佳方法

来自分类Dev

打包具有依赖项的.jar时的最佳方法

来自分类Dev

Eclipse:无法作为具有工作区依赖关系的Maven构建运行

来自分类Dev

具有Maven依赖关系的构建路径问题(jconsole-jdk.jar)

来自分类Dev

如何在Maven Idea中的webapp \ myfolder中复制具有依赖关系的jar

来自分类Dev

为什么用GHC 7.10.2构建的可执行文件同时具有librt和libc的依赖关系?

来自分类Dev

Maven库在具有不同依赖关系的更多项目中使用

来自分类Dev

使用Maven将Storm和Cassandra打包到可执行jar中

来自分类Dev

使用Maven将Storm和Cassandra打包到可执行的jar中

来自分类Dev

为什么Maven Assembly Plugin不在具有依赖项的jar中包含我的项目文件?

来自分类Dev

Maven:如何从source.jar到jar文件建立依赖关系,并将jar文件作为依赖关系?

来自分类Dev

Apache Spark Hive,带有Maven阴影的可执行JAR

来自分类Dev

具有依赖项的Maven依赖项插件复制jar

来自分类Dev

是否显示对除主要可执行文件以外的项目的依赖关系?

来自分类Dev

如何使用Maven项目作为对另一个Maven项目的依赖关系?

来自分类Dev

默认情况下没有依赖关系的Maven jar

来自分类Dev

如何在Windows上使用命令行执行具有外部依赖关系的jar文件?

来自分类Dev

如何使用Maven在新jar中打包jar和所有依赖项

Related 相关文章

  1. 1

    使用maven的具有依赖项的可执行jar

  2. 2

    具有sbt-assembly的单个项目中具有不同外部依赖项的多个可执行jar文件

  3. 3

    使用Maven将外观依赖打包到可执行jar中

  4. 4

    Apache Spark Hive,具有Maven阴影的可执行JAR

  5. 5

    从 Maven 项目制作可执行 JAR

  6. 6

    Eclipse:如何使用带有外部项目依赖项的ant构建可执行jar?

  7. 7

    具有依赖关系的Debian打包(从头开始)

  8. 8

    没有主要类别的硒testng Maven项目的可执行jar

  9. 9

    具有依赖关系的异步任务执行

  10. 10

    如何从多模块Maven项目构建可执行jar?

  11. 11

    Maven和Netbeans:如何构建项目并获取可执行jar?

  12. 12

    打包具有依赖项的.jar时的最佳方法

  13. 13

    打包具有依赖项的.jar时的最佳方法

  14. 14

    Eclipse:无法作为具有工作区依赖关系的Maven构建运行

  15. 15

    具有Maven依赖关系的构建路径问题(jconsole-jdk.jar)

  16. 16

    如何在Maven Idea中的webapp \ myfolder中复制具有依赖关系的jar

  17. 17

    为什么用GHC 7.10.2构建的可执行文件同时具有librt和libc的依赖关系?

  18. 18

    Maven库在具有不同依赖关系的更多项目中使用

  19. 19

    使用Maven将Storm和Cassandra打包到可执行jar中

  20. 20

    使用Maven将Storm和Cassandra打包到可执行的jar中

  21. 21

    为什么Maven Assembly Plugin不在具有依赖项的jar中包含我的项目文件?

  22. 22

    Maven:如何从source.jar到jar文件建立依赖关系,并将jar文件作为依赖关系?

  23. 23

    Apache Spark Hive,带有Maven阴影的可执行JAR

  24. 24

    具有依赖项的Maven依赖项插件复制jar

  25. 25

    是否显示对除主要可执行文件以外的项目的依赖关系?

  26. 26

    如何使用Maven项目作为对另一个Maven项目的依赖关系?

  27. 27

    默认情况下没有依赖关系的Maven jar

  28. 28

    如何在Windows上使用命令行执行具有外部依赖关系的jar文件?

  29. 29

    如何使用Maven在新jar中打包jar和所有依赖项

热门标签

归档