目標org.codehaus.mojo:exec-maven-plugin:1.5.0:execの実行に失敗しました


10

3週間前、私はWebアプリケーションの作業を終えていました。すべてが問題なく実行されていました。

さて、3週間後、何も変更しなかったため(!!!)、アプリケーションを再度実行したかったのですが、今回は次のエラーメッセージが表示されました。

 An error occurred while parsing the server response. Error message is: Provider org.glassfish.json.JsonProviderImpl not found
Exception in thread "main" com.michael.optimizer.exceptions.JsonException: This is a general JSON error. Check logs for details.)
    at com.michael.optimizer.api.JsonRequest.doJsonRequest(JsonRequest.java:36)
    at com.michael.optimizer.api.StationApi.doJsonRequest(StationApi.java:150)
    at com.michael.optimizer.api.StationApi.areaSearch(StationApi.java:73)
    at com.michael.optimizer.Optimizer.main(Optimizer.java:23)
Command execution failed.
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
    at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404)
    at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166)
    at org.codehaus.mojo.exec.ExecMojo.executeCommandLine(ExecMojo.java:764)
    at org.codehaus.mojo.exec.ExecMojo.executeCommandLine(ExecMojo.java:711)
    at org.codehaus.mojo.exec.ExecMojo.execute(ExecMojo.java:289)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
------------------------------------------------------------------------
BUILD FAILURE
------------------------------------------------------------------------
Total time: 5.823 s
Finished at: 2020-04-23T20:20:56+02:00
Final Memory: 7M/123M
------------------------------------------------------------------------
Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.5.0:exec (default-cli) on project optimizer: Command execution failed. Process exited with an error: 1 (Exit value: 1) -> [Help 1]

To see the full stack trace of the errors, re-run Maven with the -e switch.
Re-run Maven using the -X switch to enable full debug logging.

For more information about the errors and possible solutions, please read the following articles:
[Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

ここで何が問題になっていますか?


私の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.michael</groupId>
    <artifactId>optimizer</artifactId>
    <version>1.0-SNAPSHOT</version>


    <name>optimizer</name>

    <properties>
        <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <compilerArguments>
                        <endorseddirs>${endorsed.dir}</endorseddirs>
                    </compilerArguments>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${endorsed.dir}</outputDirectory>
                            <silent>true</silent>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>javax</groupId>
                                    <artifactId>javaee-endorsed-api</artifactId>
                                    <version>7.0</version>
                                    <type>jar</type>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongo-java-driver</artifactId>
            <version>3.4.1</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>7.0</version>
            <type>jar</type>
        </dependency>
    </dependencies>
</project>

では、Glassfishにデプロイしようとしていましたか?正確にどのコマンドを実行していますか?サーバーを再インストールしましたか?
acm

1
Glassfishサーバーではなくpayaraサーバーを使用しています。しかし、これら2つは密接に関連しているようです。
steady_progress

3
org.glassfish:javax.json依存関係が存在することを確認しましたか?stackoverflow.com/questions/47022653/…stackoverflow.com/questions/33083050/…を参照してください。どちらの場合も、依存関係の欠落が問題でした...
blagerweij

1
json依存関係は、アプリケーションサーバーによって提供される必要があります。例えば参照:stackoverflow.com/questions/57726562/...
assylias

Mavenのバージョンを最新の3.6.3にアップグレードして再構築します
Ashish Patel

回答:


3

@Anish B .: javax.json依存関係には、JsonProvider実装クラスが依存関係(Code_Modeで指摘)として...ありますが(assyliasで指摘)、実際にはアプリケーションサーバーとしてjavax.json依存関係も必要ありません。この依存関係を提供する必要があります。


実際、サーバーに問題があります(stackoverflow.com/questions/61445520/…を参照)...サーバーがスムーズに動作しているとき(3週間前)、私はサーバーからすべてを提供する必要があります。これらの依存関係をpom.xmlファイルに
追加

@Code_Mode:pom.xmlファイルをまったく拡張する必要がないようです...問題は明らかにサーバーが正常に機能していないことです...したがって、この質問の解決策:stackoverflow.com/ questions / 61445520 /…は、ここに投稿された質問への回答にもなります。...そのため、他の質問の解決策を見つけた人には500ポイントの賞金が授与されます
stable_progress

1
@Anish B .: pom.xmlファイルをまったく拡張する必要がないようです...問題は明らかにサーバーが正常に機能していないことです...したがって、この質問の解決策:stackoverflow com / questions / 61445520 /…は、ここに投稿された質問への回答にもなります。...そのため、他の質問の解決策を見つけた人には500ポイントの賞金が与えられます
stable_progress

@steady_progressわかりました!! テストのためにコードベースを共有できますか?payaraアプリサーバーを自分でダウンロードします。
アニッシュB.

@steady_progress payaraサーバーのバージョンも追加してください。私はその問題を解決しようとします。
アニッシュB.

6

javaee-web-api依存関係を使用してjavax.json.spi.JsonProvider.classいて、実際の実装ではなくクラスファイルがあります。

の実際の実装が必要JsonProviderです。javax.json依存関係を追加します。それは持っているJsonProvider 実装クラスをorg.glassfish.json.JsonProviderImpl.class

<!-- https://mvnrepository.com/artifact/org.glassfish/javax.json -->
<dependency>
    <groupId>org.glassfish</groupId>
    <artifactId>javax.json</artifactId>
    <version>1.1.4</version>
</dependency>

詳細については、確認してくださいここに


3

テストのためにpom.xmlから依存関係を取得しました。

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.michael</groupId>
    <artifactId>optimizer</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongo-java-driver</artifactId>
            <version>3.4.1</version>
        </dependency>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>7.0</version>
        </dependency>
    </dependencies>
</project>

この問題に必要なjarファイルが含まれているかどうかを確認しました。

私はMavenのコマンドを使用しました:mvn dependency:tree。このコマンドを使用すると、使用されているjarおよび依存jarを確認できます。

ここに画像の説明を入力してください

これら-> javax.jsonjavax.json-apiアーティファクトがありません。

pom.xmlこのエラーを無視するには、この依存関係を追加します。

<!-- This jar provides the interfaces -->
<!-- This may be optional as javaee-web-api contains JsonProvider.class -->
<!-- But still I will recommend to add this explicitly for you to be at safer side -->
<dependency>
    <groupId>javax.json</groupId>
    <artifactId>javax.json-api</artifactId>
    <version>1.0</version> 
</dependency> 
<!-- This jar provides the implementation of this interfaces
<dependency>
    <groupId>org.glassfish</groupId>
    <artifactId>javax.json</artifactId>
    <version>1.1.4</version>
</dependency>

注:javax.json-api実装はによって行われjavax.jsonます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.