我正在尝试使用IntelliJ IDEA从Maven导入RinSim 3.2.2。我正在运行Windows 8.1 x64。以下是我的POM文件:
<?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>be.kuleuven.cs</groupId>
<artifactId>Multi-Agent_Systems</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.github.rinde</groupId>
<artifactId>rinsim-example</artifactId>
<version>3.2.2</version>
</dependency>
</dependencies>
</project>
相同的POM文件在Eclipse中正确导入库,但是当从IntelliJ中调用Reimport函数时,它会错误地解析依赖项。该库依赖于SWT UI库,该库与平台相关。 IntelliJ在Windows上导入32位版本而不是64位版本。使用the POM file of RinSim's UI library中的配置文件选择架构。
我通过将我的POM文件修改为64位依赖项中的硬编码来解决此问题,但这不是一个干净的解决方案。
<?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>be.kuleuven.cs</groupId>
<artifactId>Multi-Agent_Systems</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.eclipse.swt</groupId>
<artifactId>org.eclipse.swt.win32.win32.x86_64</artifactId>
<version>4.4</version>
</dependency>
<dependency>
<groupId>com.github.rinde</groupId>
<artifactId>rinsim-example</artifactId>
<version>3.2.2</version>
<exclusions>
<exclusion>
<groupId>org.eclipse.swt</groupId>
<artifactId>org.eclipse.swt.win32.win32.x86</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>swt-repo</id>
<name>SWT Repo</name>
<url>https://swt-repo.googlecode.com/svn/repo/</url>
</repository>
</repositories>
</project>
我试图找出导致问题的原因,图书馆的POM文件似乎是正确的。也许IntelliJ有一个导致这种行为的错误,但我不确定是否属于这种情况。
我希望有人能为我解决这个问题,或者帮助我找出问题的原因。