我正在开发一个eclipse插件,我正在将它转换为Maven项目。我使用了“Configure-> Convert to Maven project”选项,并编写了带有相应依赖项的pom.xml文件以及对tycho和maven插件的引用。
<properties>
<tycho.version>0.23.0</tycho.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<sourceDirectory>src</sourceDirectory>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-repository-plugin</artifactId>
<version>${tycho.version}</version>
<configuration>
<includeAllDependencies>true</includeAllDependencies>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho.version}</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho.version}</version>
<configuration>
<target>
<artifact>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>${project.version}</version>
</artifact>
</target>
<environments>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86</arch>
</environment>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86</arch>
</environment>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>macosx</os>
<ws>cocoa</ws>
<arch>x86_64</arch>
</environment>
</environments>
</configuration>
</plugin>
<plugin>
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
但是,maven依赖库不会自动添加到项目的类路径中,即使我尝试将它们添加到.classpath文件中,例如
<classpathentry kind="var" path="M2_REPO/net/sf/jung/jung-api/2.0.1/jung-api-2.0.1.jar"/>
(已配置M2_REPO类路径变量)我仍在获取MANIFEST文件中缺少类的异常。
是否可以在eclipse中将类路径设置在项目的根目录之外,如果是,是否可以自动将maven依赖库添加到项目的类路径中?
答案 0 :(得分:0)
eclipse插件只将osgi包和插件作为依赖。如果您将依赖关系作为普通jar,它将不会采取。清单文件将采用eclipse home,目标定义文件的p2存储库或eclipse站点中提供的插件和包。所以我建议你将maven依赖jar转换为osgi bundle或plugin,并将其作为依赖项添加到eclipse插件中,这样你就不会在maven构建过程中出现任何错误。