1

我正在将 webapp 部署到 openshift 云。

在部署后通过maven自动编译资源时,它显示Base64: symbol not found 但是当我在我的PC上进行maven编译时,它们没有错误并且构建成功。我试图从Base64更改java.utilapache.commons.codecs。部署时错误仍然存​​在,并且在我的本地计算机上成功运行

以下是pom.xml

           <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.5.1</version>
            <inherited>true</inherited>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
    </plugins>

 <dependencies>
<dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.4</version>
    </dependency>

我应该将 commons-codec jar 放在 WEB_INF 目录中吗?我在某处阅读了解决方案,但不确定。请提出解决方案。谢谢

</dependencies>
4

1 回答 1

2

我的猜测是你在你的机器上使用 JDK 8,但是由于java.util.Base64发生错误的 JDK 7仅在 Java SE 8 之后才可用。

我建议在两台机器上使用相同的 Java 版本。

否则你应该考虑交叉编译。如您所见,仅设置源和目标级别是不够的,因为您仍然可以调用新的 API。

于 2015-07-23T14:22:25.090 回答