我现在正在尝试解决这个问题大约一个星期,所以我将非常感谢任何人的帮助。我正在开发一个Eclipse插件。我需要在我的代码中读取pom.xml文件。为此,我需要三个maven依赖项。该项目被创建为插件项目,然后使用m2eclipse转换为Maven项目。这是我的POM:
<properties>
<tycho-version>0.25.0</tycho-version>
<manifest-location>META-INF</manifest-location>
<name>${project.name}</name>
<version>${project.version}</version>
</properties>
<repositories>
<repository>
<id>eclipse-mars</id>
<layout>p2</layout>
<url>http://download.eclipse.org/releases/mars</url>
</repository>
</repositories>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
<version>3.3.9</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>3.0.22</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.3.9</version>
</dependency>
</dependencies>
</project>现在,当我运行新的Eclipse应用程序来测试插件时。它抛出一个异常: org/apache/maven/model/io/xpp3/MavenXpp3Reader :ava.lang.NoClassDefFoundError
Apache的HttpClient依赖也是如此。为此,我能够通过导入一堆org.apache.http包来解决它。我也试过this,它不起作用。这真的很让我头疼,因为在所有的文章和教程中,它应该可以工作。( m2eclipse自动管理maven依赖项)。
发布于 2016-06-17 23:41:56
我不熟悉Maven,但是作为Eclipse插件(osgi bundle),为了在运行时访问类,您需要向提供这些类的包或bundle添加依赖项。
这是在带有Import-Package或Require-Bundle清单标头的插件/META-INFC.MF文件中完成的。我不知道maven/tycho是否会自动为你做这件事。
此外,提供这些类的插件/捆绑包需要在其清单中指定一个Export-Package。
https://stackoverflow.com/questions/37028577
复制相似问题