我正在将webapp部署到openshift云。
在部署后由maven自动编译资源时,会显示Base64: symbol not found
但是,当我在我的PC上编译它时,它们没有错误,构建成功。我尝试将Base64
从java.util
更改为apache.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>
答案 0 :(得分:2)
我的猜测是你在你的机器上使用JDK 8,但是因为java.util.Base64而发生错误的JDK 7仅在Java SE 8之后才可用。
我建议在两台计算机上使用相同的Java版本。
否则你应该考虑cross-compiling。正如您所看到的,仅仅设置源和目标级别是不够的,因为您仍然可以调用新的API。