我正在使用Eclipse中的M2E插件开发Bukkit插件。我有一个问题,maven依赖(Bukkit 1.5.2 R1.0)在两个不同的位置,取决于我是否在学校。在家里,文件树位于我的Dropbox中,其中maven repo位于C:/users/canon/.m2/repository/org/bukkit/bukkit-1.5.2-R1.0但在学校它位于C:/ users /nmeyer/.m2/repository/org/bukkit/bukkit-1.5.2-R1.0。我已经能够使用maven重新创建项目,使得maven存储库一次只能在一台计算机上的正确位置,但不能同时存在。有没有办法可以让Maven在这两个文件位置查看maven存储库,这样我就不必为同一个项目配置相同版本的相同版本了吗?
附加注意:我创建maven项目的文件路径将正常工作并正确显示bukkit-1.5.2-R1.0 jar文件树正确显示在maven依赖项下,但它无法在计算机上运行其他地点(家庭与学校)。
澄清:Maven存储库是在我的pom.xml中定义的,但我不知道在哪里可以找到maven repo路径。我已经附上了我的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.nathanMeyer</groupId>
<artifactId>headInfo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>bukkit-repo</id>
<url> http://repo.bukkit.org/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
<version>1.5.2-R1.0</version>
<type>jar</type>
<scope>provided</scope>
</dependency>
</dependencies>
答案 0 :(得分:1)
对于Maven,您不需要对路径进行硬编码。您可以使用:
${user.home}
例如,
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>${user.home}/.m2/repository</localRepository>
<interactiveMode>true</interactiveMode>
<usePluginRegistry>false</usePluginRegistry>
<offline>false</offline>
...
</settings>
查看maven设置参考以获取更多信息:https://maven.apache.org/settings.html
然后,您的导入将如下所示:
<plugin>
<groupId>org.bukkit</groupId>
<artifactId>bukkit-1.5.2-R1.0</artifactId>
</plugin>
答案 1 :(得分:0)
我弄清楚问题是什么,它是如此愚蠢,我甚至没想到它。事实证明,我的学校阻止bukkit.org为“游戏”,因为学校计算机Eclipse没有机会从学校计算机连接到该存储库,因为回购http://repo.bukkit.org/content/groups/public/无法访问。