java - CentOS 上的 Artifactory 环境变量

标签 java linux tomcat environment-variables artifactory

我要疯了。

/usr/lib/jvm/

java-1.7.0-openjdk-1.7.0.65.x86_64
java-1.7.0-openjdk-1.7.0.79.x86_64

昨晚在最不幸的时候,明显使用 artifactory 的 #65 的内容消失了。 java 消失了。也许它已经消失了,但是新的 Linux 人员正在“升级”机器,所以它很可疑。

现在,问题是 artifactory 不能忘记版本 65。

如果我输入 envset,我们就成功了。没有提到 v65。但是 Artifactory 生活在它自己的世界里。

[root@me]# service artifactory check
Checking arguments to Artifactory:
ARTIFACTORY_HOME     =  /var/opt/jfrog/artifactory
ARTIFACTORY_USER     =  artifactory
TOMCAT_HOME          =  /opt/jfrog/artifactory/tomcat
ARTIFACTORY_PID      =  /var/opt/jfrog/run/artifactory.pid
JAVA_HOME            =
JAVA_OPTIONS         =  -server -Xms512m -Xmx2g -Xss256k -XX:PermSize=128m -XX:MaxPermSize=256m -XX:+UseG1GC

[root@me]# service artifactory start
Starting Artifactory tomcat as user artifactory...
Max number of open files: 32000
Using ARTIFACTORY_HOME: /var/opt/jfrog/artifactory
Using ARTIFACTORY_PID: /var/opt/jfrog/run/artifactory.pid
Using CATALINA_BASE:   /opt/jfrog/artifactory/tomcat
Using CATALINA_HOME:   /opt/jfrog/artifactory/tomcat
Using CATALINA_TMPDIR: /opt/jfrog/artifactory/tomcat/temp
Using JRE_HOME:        /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64/jre
Using CLASSPATH:       /opt/jfrog/artifactory/tomcat/bin/bootstrap.jar:/opt/jfrog/artifactory/tomcat/bin/tomcat-juli.jar
Using CATALINA_PID:    /var/opt/jfrog/run/artifactory.pid

envset 显示

JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk.x86_64
JRE_HOME=/usr/lib/jvm/java-1.7.0-openjdk.x86_64/jre

PATH 也是正确的。 ls -l 显示

lrwxrwxrwx  1 root root   34 Jun 24 22:38 java-1.7.0-openjdk.x86_64 -> java-1.7.0-openjdk-1.7.0.79.x86_64

所以它指向正确的位置。 Artifact 用户到底从哪里得到 65?如果我尝试 su artifactory,我会转到 bash-4.1$,表明 artifactory 不是传统意义上的用户,但即使如此,env 和 set 也是正确的。

我终于设法通过妥协让它工作。

/opt/jfrog/artifactory/bin

我编辑了 artifactory.default 并将我的导出 JAVA_HOME 放在那里,然后从该文件夹启动 artifactory,而不是作为服务。直到下次 Linux 团队搞砸我的服务器时才会这样做。

但是有人知道我如何让它作为服务运行吗?

最佳答案

查看/etc/init.d/artifactory,这是在您调用“service artifactory ...”时运行的脚本 - 它看起来像是其中的某些东西(可能是源自其中的另一个脚本)正在设置JRE_HOME 到旧版本。

你也可以试试

sudo su - artifactory; env | grep JRE

确保 Artifactory 用户的环境不会将 JRE_HOME 设置为旧版本。

关于java - CentOS 上的 Artifactory 环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31043996/

相关文章:

java - 将 JIRA 5.1 升级到 JIRA 6

java - 解决 Tomcat 8.0.15 和 java 8 上的 tomcatproprietaryEvaluate 异常

java - 根据实现中使用的泛型(应用类型)使用接口(interface)的一种实现

java - JAVA 中的大输入

linux - fclose 在 Linux 上克隆线程后挂起

c# - C#中SendKeys的跨平台实现?

java - 更改组合框JAVA的标题

java - Mac OS X 和多个 Java 版本

java - 使用 Java 1.5 的 Red Hat Linux 上的 PrintServiceLookup.lookupPrintServices 有时会返回包含 NULL 的对象的数组

tomcat - 如果大小 > 20 兆字节 404 错误代码,SonarQube 5.6.1 报告上传失败