您好,登錄后才能下訂單哦!
本篇文章為大家展示了springboot項目接入sap與部署到docker遇到的問題有哪些,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
主要記錄在協助部署接入sap遇到的問題,且只記錄解決問題的答案,不說明原理。
解決方案一:手動項目中將sapjco-1.0.jar重名為sapjco3.jar
不過我們沒采用這種方案
解決方案二:指定maven的scope為system,形如下
<dependency> <groupId>com.sap</groupId> <artifactId>sapjco</artifactId> <version>${sap.version}</version> <scope>system</scope> <systemPath>${project.basedir}/lib/sapjco3.jar</systemPath> </dependency>
然后指定resources,形如下
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${spring-boot.version}</version> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> <compilerArguments> <extdirs>${project.basedir}/lib</extdirs> </compilerArguments> </configuration> </plugin> </plugins> <resources> <resource> <directory>${project.basedir}/lib</directory> <targetPath>BOOT-INF/lib/</targetPath> <includes> <include>**/*.jar</include> </includes> </resource> <resource> <directory>${project.basedir}/lib</directory> <targetPath>BOOT-INF</targetPath> <includes> <include>**/*.so</include> <include>**/*.dll</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <!--<targetPath>BOOT-INF/classes/</targetPath>--> <includes> <include>**/*.yml</include> <include>**/*.xml</include> </includes> </resource> </resources> </build>
這個的作用是將sapjco3.jar打進BOOT-INF/lib/
因為項目是部署到docker里面去,因此本文只寫基于docker的解決方案
解決方案如下:
在dockerFile里面指定LD_LIBRARY_PATH環境變量,形如下
FROM adoptopenjdk/openjdk8 VOLUME /tmp #ENV JAVA_OPTS="-Dcom.sun.management.jmxremote.port=39083 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" ENV JAVA_OPTS="" ENV LD_LIBRARY_PATH /usr/local/lib:$LD_LIBRARY_PATH COPY localtime /etc/localtime RUN echo "Asia/Shanghai" > /etc/timezone COPY hello-biz/target/hello-biz-*.jar app.jar COPY hello-biz/lib/libsapjco3.so /usr/local/lib/libsapjco3.so ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
上述內容就是springboot項目接入sap與部署到docker遇到的問題有哪些,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。