Linux服务器部署带Cplex的Java项目

Linux版Cplex安装

Cplex安装包

Cplex 22.1.0 Linux安装包

安装步骤

找到安装包的路径

[root@hecs-327697 ~]# cd /www/cplex
[root@hecs-327697 cplex]# ls
cplex_studio2210.linux_x86_64.bin

使用chmod 777赋予安装包读、写、执行权限,使用./执行安装

[root@hecs-327697 cplex]# chmod 777 cplex_studio2210.linux_x86_64.bin 
[root@hecs-327697 cplex]# sudo ./cplex_studio2210.linux_x86_64.bin

Linux服务器部署带Cplex的Java项目_第1张图片
Linux服务器部署带Cplex的Java项目_第2张图片
Linux服务器部署带Cplex的Java项目_第3张图片
Linux服务器部署带Cplex的Java项目_第4张图片

到这里就安装结束了,其实不安装也可以部署,在Linux中安装Cplex只是为了获取关键的文件(即cplex.jar)和文件目录(bin下面的目录x86-64_linux),假如已经你已经有一台linux服务器安装了Cplex,如果想要在另外一台服务器中也部署项目,只需要将x86-64_linux复制到第二台Linux服务器中即可,cplex.jar并不需要复制过去,cplex.jar的用途是在将项目打包成jar包的时候使用,等会在项目打包时详细叙述

Linux服务器部署带Cplex的Java项目_第5张图片
Linux服务器部署带Cplex的Java项目_第6张图片

Java项目打包

Cplex安装包很难找到开发环境(我用的是Window)和Linux服务器相同的版本,比如可能开发环境使用的Cplex版本是12.6.3,而Linux的Cplex版本是22.1.0,那么进行两个环境的协同是一个问题,本文的解决方案如下:

在开发的时候,还是使用12.6.3,在打包之前再切换到22.1.0,本文使用Maven来管理Cplex的版本。

首先,将Linux安装之后得到的cplex.jar文件传输给开发的电脑,然后使用mvn命令将该jar包安装到本地maven仓库中,后续的Maven项目直接从本地仓库中拉取Cplex包即可

cplex.jar安装到本地Maven仓库中

【安装命令】
在cmd命令行中运行如下命令即可,注意cplex.jar包所在路径Cplex的版本号要修改成自己的
mvn install:install-file -Dfile=cplex.jar包所在路径 -DartifactId=cplex -Dversion=Cplex的版本号 -Dpackaging=jar
【示例】
Linux服务器部署带Cplex的Java项目_第7张图片

在Maven项目中拉取本地仓库的Cplex

version按照你的版本号来写

<dependency>
     <groupId>cplexgroupId>
     <artifactId>cplexartifactId>
     <version>22.1.0version>
 dependency>

如下图所示,可以看到本文使用了两个版本的Cplex,在开发的时候,将22.1.0版本的依赖注释掉,在部署打包之前,则将12.6.3版本的依赖注释掉,修改完依赖记得刷新一下Maven

Linux服务器部署带Cplex的Java项目_第8张图片
在打包之前,先将Cplex版本修改成Linux器中的版本,然后clean再install即可

Linux服务器部署带Cplex的Java项目_第9张图片
后面在服务器中就使用这个jar包即可

Linux服务器部署带Cplex的Java项目_第10张图片
我在下面提供我的maven项目打包配置,可以直接复制粘贴使用,mainClass标签里面配置的是运行jar包时的主类

 <build>
     <plugins>
         <plugin>
             <groupId>org.apache.maven.pluginsgroupId>
             <artifactId>maven-shade-pluginartifactId>
             <version>3.2.4version>
             <executions>
                 <execution>
                     <phase>packagephase>
                     <goals>
                         <goal>shadegoal>
                     goals>
                     <configuration>
                         <transformers>
                             <transformer
                                     implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                 <mainClass>com.cims.ApplicationmainClass>
                             transformer>
                         transformers>
                     configuration>
                 execution>
             executions>
         plugin>
     plugins>
 build>

项目部署

首先将文件,如项目jar包、x86-64_linux(如果直接在服务器中安装了Cplex,无需上传,因为服务器中已经有了)上传到服务器中

Linux服务器部署带Cplex的Java项目_第11张图片

其中start.sh是我写的一个批处理文件,用来避免每次启动都需要写命令来运行jar包,将命令封装到start.sh之后,后面只需要启动这个批处理文件即可,批处理文件里面的命令如下:-Djava.library.path用来指定x86-64_linux的绝对路径

java -Djava.library.path=/home/dsds/bat/x86-64_linux -jar eda-standard-cell-generation-1.0-SNAPSHOT.jar
pause

你可能感兴趣的:(Java项目,服务器,linux,java,Cplex)