簡體   English   中英

Tomcat 9 無法在 docker 容器中找到 org.apache.ibatis 和 Z93F725A07423D21F439

[英]Tomcat 9 unable find org.apache.ibatis inside docker container with java 17

我正在嘗試重寫現有的 java 應用程序以將其升級到 java17 和 tomcat 9 以及 dockerization 但是當我嘗試在 Z05B6053C41A2130AFD6FC3B158BDA4E 容器中運行它時,我看到了下面的錯誤

Caused by: java.lang.Error: Unresolved compilation problems: 
The import org.apache.ibatis cannot be resolved
The import org.apache.ibatis cannot be resolved
BaseTypeHandler cannot be resolved to a type
The method getNullableResult(ResultSet, String) of type StringBoolHandler must override or implement a supertype method
The method getNullableResult(ResultSet, int) of type StringBoolHandler must override or implement a supertype method
The method getNullableResult(CallableStatement, int) of type StringBoolHandler must override or implement a supertype method
JdbcType cannot be resolved to a type

at com.XXX.XXX.mybatis.typehandlers.StringBoolHandler.<init>(StringBoolHandler.java:11)

但是 StringBoolHandler class 覆蓋了上述方法,並且 IDE 中也沒有編譯器錯誤

我能夠在 IDE 中成功啟動和運行應用程序

這是我的 docker 文件

FROM openjdk:17-jdk
FROM maven:3.8.4 as maven_builder
WORKDIR /app
ADD src /app/src
ADD war /app/war
#Prepare by downloading dependencies
ADD pom.xml /app/pom.xml
RUN ["mvn", "dependency:resolve"]
RUN ["mvn", "verify"]
#Adding source, compile and package into a fat jar
RUN ["mvn","clean", "install", "-Dmaven.test.skip=true"]
FROM tomcat:9.0-jdk17
# adding new relic config
RUN mkdir -p /usr/local/tomcat/newrelic
COPY war/WEB-INF/lib/newrelic.jar /usr/local/tomcat/newrelic/newrelic.jar
COPY war/WEB-INF/newrelic.yml /usr/local/tomcat/newrelic/newrelic.yml
ENV JAVA_OPTS="$JAVA_OPTS -javaagent:/usr/local/tomcat/newrelic/newrelic.jar"
COPY --from=maven_builder /app/target/xxx-0.0.1-SNAPSHOT.war /usr/local/tomcat/webapps/xxx.war

我能夠在 docker 容器中部署的應用程序的 lib 中找到mybatis-3.5.7.jar

請隨時向我建議任何類型的修改,以使我的 Dockerfile 更好

好的,我通過更改 maven 版本修復了它

問題在於 maven 一些如何在構建 war 文件時忽略 mybatis 導入一旦我降級了我的 maven 版本它開始工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM