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

2023-11-01 03:04

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

在这里插入图片描述
在这里插入图片描述

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
【示例】
在这里插入图片描述

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

version按照你的版本号来写

<dependency><groupId>cplex</groupId><artifactId>cplex</artifactId><version>22.1.0</version></dependency>

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

在这里插入图片描述
在打包之前,先将Cplex版本修改成Linux器中的版本,然后clean再install即可

在这里插入图片描述
后面在服务器中就使用这个jar包即可

在这里插入图片描述
我在下面提供我的maven项目打包配置,可以直接复制粘贴使用,mainClass标签里面配置的是运行jar包时的主类

 <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>3.2.4</version><executions><execution><phase>package</phase><goals><goal>shade</goal></goals><configuration><transformers><transformerimplementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"><mainClass>com.cims.Application</mainClass></transformer></transformers></configuration></execution></executions></plugin></plugins></build>

项目部署

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

在这里插入图片描述

其中start.sh是我写的一个批处理文件,用来避免每次启动都需要写命令来运行jar包,将命令封装到start.sh之后,后面只需要启动这个批处理文件即可,批处理文件里面的命令如下

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

这篇关于Linux服务器部署带Cplex的Java项目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/320026

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r