升级到Eclipse Neon后无法解析Javax.Json

时间:2016-07-31 18:46:46

标签: java json eclipse maven java-ee

我最近下载了最新的Eclipse版本,Neon for JEE,所以我运行它,我决定接受Eclipse的建议并覆盖我的工作区设置。

然后,当我打开我的新品牌Eclipse时,我发现我的maven项目出错了

  

导入javax.Json无法解析

我正在使用JRE 1.8和Wildfly 10.0 Runtime。 Everithing else很好:jsvax.sevlet和javax.ejb API可以工作。

为什么Eclipse已经从我的项目库中移除了javax.json lib(如果发生了什么)?有什么想法吗?

我在下面附上了我的POM

<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>

2 个答案:

答案 0 :(得分:0)

添加到 pom.xml 文件javax.json dependency。也许在之前安装的Eclipse版本中,您在Eclipse项目构建的路径设置中手动添加了此库。

enum Pattern { a, b, c, d }
Pattern pattern;

float curve = 0;
float curveSpeed = 2; 

void Update() {
    switch (pattern) {
        case Pattern.a:
            HB.ApplyCurvature(Bend(curve, -10));
            if (Bend(curve, -10) == 0) pattern = Pattern.b;
            break;

        case Pattern.b:
            HB.ApplyCurvature(Bend(curve, 0));
            if (Bend(curve, 0) == 0) pattern = Pattern.c;
            break;

        case Pattern.c:
            HB.ApplyCurvature(Bend(curve, 10));
            if (Bend(curve, 10) == 0) pattern = Pattern.d;
            break;

        case Pattern.d:
            HB.ApplyCurvature(Bend(curve, 0));
            if (Bend(curve, 0) == 0) pattern = Pattern.a;
            break;

    }
}

答案 1 :(得分:0)

一般来说,最好在classpath或eclipse设置中独立显式声明所有使用的依赖项。 使用 Maven Dependency Plugin 检查pom.xml是非常有用的:

mvn dependency:analyze

它显示了你在没有声明它们的情况下使用的女巫依赖关系 - 只需处理传递dep,当你改变一些依赖的版本而其他一个可能会消失时,这可能让你感到惊讶。