2016-07-31 55 views
2

我最近下載了最後一個Eclipse版本,Neon for JEE,所以我運行它並決定接受來自Eclipse的建議並覆蓋我的工作區設置。Javax.Json升級到Eclipse後無法解決霓虹燈

然後,當我打開我的新品牌Eclipse中,我發現了什麼是我的maven項目得到一個錯誤

我使用JRE 1.8和進口javax.Json不能得到解決

Wildfly 10.0運行時。 Everithing其他方面也很好:jsvax.sevlet和javax.ejb API可以工作。

爲什麼Eclipse從我的項目庫中刪除了(如果發生了這種情況)javax.json庫?任何想法?

我在下面附

<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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>xxx</groupId> 
    <artifactId>xxx</artifactId> 
    <packaging>war</packaging> 
    <version>xxx</version> 
    <name>Maven Webapp</name> 
    <url>http://maven.apache.org</url> 
    <dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.39</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>5.2.0.Final</version> 
     <exclusions> 
     <exclusion> 
      <groupId>dom4j</groupId> 
      <artifactId>dom4j</artifactId> 
     </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-entitymanager</artifactId> 
     <version>5.1.0.Final</version> 
     <exclusions> 
     <exclusion> 
      <groupId>dom4j</groupId> 
      <artifactId>dom4j</artifactId> 
     </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>com.google.code.gson</groupId> 
     <artifactId>gson</artifactId> 
     <version>2.6.2</version> 
    </dependency> 
    </dependencies> 
    <build> 
    <finalName>onebrain</finalName> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.5.1</version> 
     <configuration> 
      <source>1.8</source> 
      <target>1.8</target> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
</project> 

回答

0

我的POM添加到您的的pom.xml文件javax.json dependency。也許在之前安裝的Eclipse版本中,您在Eclipse項目構建的路徑設置中手動添加了此庫。

<dependency> 
    <groupId>javax.json</groupId> 
    <artifactId>javax.json-api</artifactId> 
    <version>1.0</version> 
</dependency> 
+0

我很確定我沒有。其實,我在一個新鮮而乾淨的eclipse安裝上創建了這個項目!我知道我可以將javax.json依賴項添加到我的POM中,但我會一直問我爲什麼發生了什麼事。在這個最後的版本中eclipse默認行爲是否改變了,也許? (順便說一句,謝謝你的回答) –

+0

@JotaUribe也許在以前的Eclipse版本中,你創建了默認的JavaEE項目,並且默認項目在構建路徑中包含了'javax'庫。 –

0

通常,在classpath或eclipse設置中顯式聲明所有已使用的依賴關係是一個好主意。 這是非常有用與Maven Dependency Plugin來檢查你的pom.xml不時:

mvn dependency:analyze 

它你女巫依賴您使用的顯示,而無需他們述說 - 只是遞過上傳遞DEP可在令你大吃一驚未來當你改變某些依賴的版本時,其他人可能會消失。