Caused by: Java.lang.NoClassDefFoundError: org/Apache/commons/lang/StringUtils
at org.Apache.maven.wagon.providers.file.FileWagon.resolveDestinationPath(FileWagon.Java:206)
at org.Apache.maven.wagon.providers.file.FileWagon.putDirectory(FileWagon.Java:157)
at org.Apache.maven.plugins.site.deploy.AbstractDeployMojo.Push(AbstractDeployMojo.Java:441)
at org.Apache.maven.plugins.site.deploy.AbstractDeployMojo.deploy(AbstractDeployMojo.Java:323)
at org.Apache.maven.plugins.site.deploy.AbstractDeployMojo.deployTo(AbstractDeployMojo.Java:284)
at org.Apache.maven.plugins.site.deploy.AbstractDeployMojo.execute(AbstractDeployMojo.Java:166)
at org.Apache.maven.plugins.site.deploy.SiteStageMojo.execute(SiteStageMojo.Java:78)
at org.Apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.Java:132)
... 20 more
Caused by: Java.lang.ClassNotFoundException: org.Apache.commons.lang.StringUtils
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.Java:50)
at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.Java:259)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.Java:235)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.Java:227)
... 28 more
これは私が実行しようとすると起こります
mvn site site:stage
pom.xmlは:
<dependencyManagement>
<dependencies>
<!-- Appengine Dependencies -->
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-api-1.0-sdk</artifactId>
<version>${appengine.target.version}</version>
</dependency>
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-testing</artifactId>
<version>${appengine.target.version}</version>
</dependency>
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-api-stubs</artifactId>
<version>${appengine.target.version}</version>
</dependency>
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-api-labs</artifactId>
<version>${appengine.target.version}</version>
</dependency>
<!-- Libraries -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>com.googlecode.lambdaj</groupId>
<artifactId>lambdaj</artifactId>
<version>2.3.3</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.4</version>
<configuration>
<port>9000</port>
<tempWebappDirectory>${basedir}/target/site/tempdir</tempWebappDirectory>
</configuration>
<executions>
<execution>
<id>attach-descriptor</id>
<goals>
<goal>attach-descriptor</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<!--This plugin's configuration is used to store Eclipse m2e settings
only. It has no influence on the Maven build itself. -->
<plugin>
<groupId>org.Eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.codehaus.mojo
</groupId>
<artifactId>
versions-maven-plugin
</artifactId>
<versionRange>
[2.1,)
</versionRange>
<goals>
<goal>
display-dependency-updates
</goal>
<goal>
display-plugin-updates
</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
<!-- standard plugins -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.1</version>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<version>3.2</version>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.5</version>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-Assembly-plugin</artifactId>
<version>2.5.2</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.7</version>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.5</version>
</plugin>
<!-- appengine -->
<plugin>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>${appengine.target.version}</version>
<configuration>
<enableJarClasses>false</enableJarClasses>
<!-- Comment in the below snippet to bind to all IPs instead of just
localhost -->
<!-- address>0.0.0.0</address> <port>8080</port -->
<!-- Comment in the below snippet to enable local debugging with a remove
debugger like those included with Eclipse or IntelliJ -->
<!-- jvmFlags> <jvmFlag>-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n</jvmFlag>
</jvmFlags -->
</configuration>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.17</version>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.17</version>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.17</version>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.9</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.7</version>
<reportSets>
<reportSet>
<reports>
<report>index</report>
<report>dependencies</report>
<report>dependency-convergence</report>
<report>dependency-management</report>
<report>distribution-management</report>
<report>modules</report>
<report>plugin-management</report>
<report>plugins</report>
<report>summary</report>
<report>issue-tracking</report>
<report>scm</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
リポジトリでは、commons-lang/commons-lang/
フォルダにあります。
2.1、2.4、2.5、2.6の4つがありますが、2.1と2.4のフォルダーには、他のファイルだけのjarがありません。 2.5と2.6のフォルダにjarファイルがあります。
そしてorg/Apache/commons/commons-lang3
フォルダーに、jarが付いた3.1が1つ表示されます。
私はこれを絶対的な基本的な観察のポイントに分解して、同じような経験を持つ誰かが私を助けることができるようにしました。
Commons-langのバージョンを確認してください。私のバージョンは2.6でした。Sudofind/ | grep commons-lang
プラグインの前に依存関係を追加し、idがiではなくIで始まることを確認します。
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
Wikiのようにビルドされません。/run.shを実行するためのコントローラー/ opendaylight /ディストリビューション/ opendaylight /ターゲットがありません。
OPは詳細を指定しなかったので、これはUbuntu14でmavenを実行することに関するものかもしれません。
UbuntuのMavenパッケージには「問題」があるようです。 Ubuntu 14.04.1LTSでapt-get install maven
を実行し、プロジェクトをmvn package
でパッケージ化しようとすると、同じ例外が発生しました。
回避策 githubのコメントから は:
Sudo ln -s ../../Java/commons-lang.jar /usr/share/maven/lib
少なくとも私の場合、その修正されたMaven。
私にとっては、ローカルのMavenリポジトリ内のアーティファクトへのアクセスに問題があるように思われるため、ローカルのMavenリポジトリからorg/Apacheフォルダー全体を削除したところ、問題が修正されました。
commons-lang
を依存関係として宣言しません。追加
<dependencies>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.3</version>
</dependency>
</dependencies>
あなたのpom.xml
へ
Pom.xmlは次のようになります。
<dependencies>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.3</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<!-- Appengine Dependencies -->
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-api-1.0-sdk</artifactId>
<version>${appengine.target.version}</version>
</dependency>
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-testing</artifactId>
<version>${appengine.target.version}</version>
</dependency>
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-api-stubs</artifactId>
<version>${appengine.target.version}</version>
</dependency>
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-api-labs</artifactId>
<version>${appengine.target.version}</version>
</dependency>
<!-- Libraries -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>com.googlecode.lambdaj</groupId>
<artifactId>lambdaj</artifactId>
<version>2.3.3</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.4</version>
<configuration>
<port>9000</port>
<tempWebappDirectory>${basedir}/target/site/tempdir</tempWebappDirectory>
</configuration>
<executions>
<execution>
<id>attach-descriptor</id>
<goals>
<goal>attach-descriptor</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<!--This plugin's configuration is used to store Eclipse m2e settings
only. It has no influence on the Maven build itself. -->
<plugin>
<groupId>org.Eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.codehaus.mojo
</groupId>
<artifactId>
versions-maven-plugin
</artifactId>
<versionRange>
[2.1,)
</versionRange>
<goals>
<goal>
display-dependency-updates
</goal>
<goal>
display-plugin-updates
</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
<!-- standard plugins -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.1</version>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<version>3.2</version>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.5</version>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-Assembly-plugin</artifactId>
<version>2.5.2</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.7</version>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.5</version>
</plugin>
<!-- appengine -->
<plugin>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>${appengine.target.version}</version>
<configuration>
<enableJarClasses>false</enableJarClasses>
<!-- Comment in the below snippet to bind to all IPs instead of just
localhost -->
<!-- address>0.0.0.0</address> <port>8080</port -->
<!-- Comment in the below snippet to enable local debugging with a remove
debugger like those included with Eclipse or IntelliJ -->
<!-- jvmFlags> <jvmFlag>-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n</jvmFlag>
</jvmFlags -->
</configuration>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.17</version>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.17</version>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.17</version>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.9</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.7</version>
<reportSets>
<reportSet>
<reports>
<report>index</report>
<report>dependencies</report>
<report>dependency-convergence</report>
<report>dependency-management</report>
<report>distribution-management</report>
<report>modules</report>
<report>plugin-management</report>
<report>plugins</report>
<report>summary</report>
<report>issue-tracking</report>
<report>scm</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
この依存関係をpom.xmlに追加してみてください
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
org.Apache.maven.lifecycle.LifecycleExecutionException:プロジェクトa1でゴールorg.Apache.maven.plugins:maven-site-plugin:3.6:stage(default-cli)を実行できませんでした:ゴールorg.Apacheのdefault-cliを実行します。 maven.plugins:maven-site-plugin:3.6:stageが失敗しました:org.Apache.maven.plugins:maven-site-plugin:3.6:stage:org/Apache/commons/lang/StringUtilsの実行中に必要なクラスが見つかりませんでした
外部インポートの数:1インポート:エントリ[レルムからのインポートClassRealm [maven.api、親:null]]
at org.Apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.Java:125)
... 20 more
原因:Java.lang.NoClassDefFoundError:org/Apache/commons/lang/StringUtils at org.Apache.maven.wagon.providers.file.FileWagon.resolveDestinationPath(FileWagon.Java:206)atorg.Apache.maven.wagon。 org.Apache.maven.plugins.site.deploy.AbstractDeployMojo.Push(AbstractDeployMojo.Java:452)のproviders.file.FileWagon.putDirectory(FileWagon.Java:157)(org.Apache.maven.plugins.site.deploy)。 AbstractDeployMojo.deploy(AbstractDeployMojo.Java:332)at org.Apache.maven.plugins.site.deploy.AbstractDeployMojo.deployTo(AbstractDeployMojo.Java:293)at org.Apache.maven.plugins.site.deploy.AbstractDeployMojo.execute( AbstractDeployMojo.Java:172)at org.Apache.maven.plugins.site.deploy.SiteStageMojo.execute(SiteStageMojo.Java:71)at org.Apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.Java:101).. .20以上原因:Java.lang.ClassNotFoundException:org.Apache.commons.lang.StringUtils at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstSt rategy.Java:50)at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.Java:259)at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.Java:235)at org .codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.Java:227)
org.Apache.commons.lang.StringUtils
UbuntuでMavenを実行すると欠落します
site:stage
のようないくつかのMavenの目標は、Ubuntu14.04では失敗します。
A required class was missing while executing
org.Apache.maven.plugins:maven-site-plugin:3.4:stage: org/Apache/commons/lang/StringUtils
これは、commons-lang
依存関係を見逃しているUbuntuMavenパッケージを使用した場合に発生します。スタンドアロンのMavenアーカイブを解凍するか、次のコマンドを使用できます:cd/usr/share/maven/lib Sudo ln -s ../../Java/commons-lang.jar。 https://wiki.Apache.org/commons/VfsProblems
Pom.xmlで使用してcommons-lang3.jar依存関係のバージョンを変更する必要があります。 Java単純なプロジェクトでコードを実行している場合は、使用しているバージョンに関係なく別のjarを追加します。または、jarレプリケーションが存在しないことを確認できます。