Чтобы начать работу с jetty 9.2.13.v20150730 на Openshift с картриджем DIY, вы должны запустить Java8, настроив его для работы на $OPENSHIFT_INTERNAL_IP
следующим образом. Сначала подключитесь к хосту по ssh и загрузите jdk8 с помощью
cd $OPENSHIFT_DATA_DIR
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u5-b13/jdk-8u5-linux-x64.tar.gz
tar -zxf jdk-8u5-linux-x64.tar.gz
export PATH=$OPENSHIFT_DATA_DIR/jdk1.8.0_05/bin:$PATH
export JAVA_HOME="$OPENSHIFT_DATA_DIR/jdk/jdk1.8.0_05"
java -version
Затем в вашем .openshift\action_hooks\start
убедитесь, что у вас есть те же экспортированные переменные, что-то вроде:
# see http://stackoverflow.com/a/23895161/329496 to install jdk1.8 no DIY cartridge
export JAVA_HOME="$OPENSHIFT_DATA_DIR/jdk/jdk1.8.0_05"
export PATH=$OPENSHIFT_DATA_DIR/jdk1.8.0_05/bin:$PATH
nohup java -cp ${OPENSHIFT_REPO_DIR}target/dependency/jetty-runner.jar org.eclipse.jetty.runner.Runner --host ${OPENSHIFT_DIY_IP} --port ${OPENSHIFT_DIY_PORT} ${OPENSHIFT_REPO_DIR}/target/thinbus-srp-spring-demo.war > ${OPENSHIFT_LOG_DIR}server.log 2>&1 &
(Обратите внимание, что jdk-8u20-linux-x64.tar.gz
также работает, поэтому вы можете проверить наличие последних доступных.)
Для этой установки не требуется jetty.xml
, поскольку она устанавливает --host
и --port
для привязки к правильному интерфейсу и запуска встроенного файла войны. Для этого требуется, чтобы jetty-runner.jar был скопирован из кеша ivy в целевую папку. С помощью maven вы добавляете что-то вроде:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-runner</artifactId>
<version>${jetty.version}</version>
<destFileName>jetty-runner.jar</destFileName>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
Google предполагает, что эквивалент SBT просто retrieveManaged := true
. Вы можете подключиться к хосту по ssh и запустить find
, чтобы выяснить, куда была скопирована зависимость jetty-runner.jar
, и соответствующим образом обновить команду запуска.
person
simbo1905
schedule
13.10.2015