ジェンキンスとMavenを使用してにClassNotFound例外

DevBear:

あなたの助けが必要です。私はJavaのに慣れることだし、私のプライベートのプロジェクトで私の最初のマイルストーンを終えました。今、私はジェンキンスとCIに対処するための機会として、このマイルストーンを使用していました。

ジェンキンスにMavenを経由してプログラムを実行している場合しかし、私は問題に実行します。ジェンキンスパイプラインを処理するときにMavenはいつも私にClassNotFound例外がスローされます。私はIntelliJの中でローカルにプログラムを起動したときしかし、それは問題なく動作します。

私の知る限り、彼は私がJAXBを使用してXMLを解析するために使用POJOを見つけることができません見ることができるように。

私はジェンキンスを使用してビルドするとき、なぜそれがクラスを見つけることができませんが、発見、私はローカルで作業するときにすべてが、POMは同じです。

これは私のPOMです。

<groupId>groupId</groupId>
<artifactId>rss_backend</artifactId>
<version>1.0-SNAPSHOT</version>

<properties>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
</properties>

<dependencies>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.12</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.2.11</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>2.2.11</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-core</artifactId>
        <version>2.2.11</version>
    </dependency>
    <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>1.1.1</version>
    </dependency>
    <dependency>
        <groupId>dev.morphia.morphia</groupId>
        <artifactId>core</artifactId>
        <version>1.5.8</version>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <!-- Build an executable JAR -->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.0.2</version>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>projects.rss_backend.MainApp</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

これはジェンキンス/ Mavenを使用したときに私が取得エラーです:

The following command runs and outputs the execution of your Java
application (which Jenkins built using Maven) to the Jenkins UI.
+ java -jar target/rss_backend-1.0-SNAPSHOT.jar
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
    at projects.rss_backend.MainApp.main(MainApp.java:20)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 1 more```

あなたは私が間違っているのか、どのように私は問題を解決することができますよ何の手掛かりを持っていますか?

JFマイヤー:

通常のjarファイルは、依存関係が含まれていません。

あなたはここで説明するように実行可能なjarファイルを構築する必要があります:どのように私はMavenを使用して依存関係を持つ実行可能なJARを作成することができますか?

おそらくあなたは、とのIntelliJからjarを開始しませんでしたjava -jarが、あなたのために魔法をしたいくつかのIntelliJメカニズム(つまり、クラスパス)とを。

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=410112&siteId=1