openshift:maven编译器错误:Base64找不到符号

时间:2015-07-23 14:08:02

标签: java maven base64 openshift-cartridge

我正在将webapp部署到openshift云。

在部署后由maven自动编译资源时,会显示Base64: symbol not found 但是,当我在我的PC上编译它时,它们没有错误,构建成功。我尝试将Base64java.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>

1 个答案:

答案 0 :(得分:2)

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

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

否则你应该考虑cross-compiling。正如您所看到的,仅仅设置源和目标级别是不够的,因为您仍然可以调用新的API。