Nexus: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 8: Строка 8:
 
=Репозиторий всего подряд=
 
=Репозиторий всего подряд=
 
На Расберри есть некоторые особенности но в целом документация подходит для разных систем
 
На Расберри есть некоторые особенности но в целом документация подходит для разных систем
  +
==Установка==
 
<PRE>
 
<PRE>
 
apt install openjdk-8-jdk
 
apt install openjdk-8-jdk
Строка 38: Строка 39:
 
apt-get update
 
apt-get update
 
apt-get install nexus-repository-manager
 
apt-get install nexus-repository-manager
  +
</PRE>
  +
==Особенности установки под Rasberry==
  +
<PRE>
  +
/opt/sonatype/nexus3/bin/nexus.vmoptions
  +
</PRE>
  +
<PRE>
  +
-Xms1200M
  +
-Xmx1200M
  +
-XX:MaxDirectMemorySize=2G
  +
-XX:+UnlockDiagnosticVMOptions
  +
-XX:+LogVMOutput
  +
-XX:LogFile=/opt/sonatype/sonatype-work/nexus3/log/jvm.log
  +
-XX:-OmitStackTraceInFastThrow
  +
-Djava.net.preferIPv4Stack=true
  +
-Dkaraf.home=.
  +
-Dkaraf.base=.
  +
-Dkaraf.etc=etc/karaf
  +
-Djava.util.logging.config.file=etc/karaf/java.util.logging.properties
  +
-Dkaraf.data=/opt/sonatype/sonatype-work/nexus3
  +
-Dkaraf.log=/opt/sonatype/sonatype-work/nexus3/log
  +
-Djava.io.tmpdir=/opt/sonatype/sonatype-work/nexus3/tmp
  +
-Dkaraf.startLocalConsole=false
  +
#
  +
# additional vmoptions needed for Java9+
  +
#
  +
# --add-reads=java.xml=java.logging
  +
# --add-exports=java.base/org.apache.karaf.specs.locator=java.xml,ALL-UNNAMED
  +
# --patch-module=java.base=lib/endorsed/org.apache.karaf.specs.locator-4.2.9.jar
  +
# --patch-module=java.xml=lib/endorsed/org.apache.karaf.specs.java.xml-4.2.9.jar
  +
# --add-opens=java.base/java.security=ALL-UNNAMED
  +
# --add-opens=java.base/java.net=ALL-UNNAMED
  +
# --add-opens=java.base/java.lang=ALL-UNNAMED
  +
# --add-opens=java.base/java.util=ALL-UNNAMED
  +
# --add-opens=java.naming/javax.naming.spi=ALL-UNNAMED
  +
# --add-opens=java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED
  +
# --add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED
  +
# --add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED
  +
# --add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED
  +
# --add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED
  +
# --add-exports=jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED
  +
#
  +
# comment out this vmoption when using Java9+
  +
#
  +
-Djava.endorsed.dirs=lib/endorsed:/opt/sonatype/jna
  +
</PRE>
  +
  +
  +
От файла по умолчанию отличаются:<BR>
  +
Настройки памяти Java-машины
  +
<PRE>
  +
-Xms1200M
  +
-Xmx1200M
  +
-XX:MaxDirectMemorySize=2G
  +
</PRE>
  +
  +
Дополнительные библиотеки
  +
<PRE>
  +
-Djava.endorsed.dirs=lib/endorsed
  +
</PRE>
  +
<PRE>
  +
-Djava.endorsed.dirs=lib/endorsed:/opt/sonatype/jna
  +
</PRE>
  +
  +
JNA версии 4.5.0 не работает на расберри - нужно скачать и положить в <B>/opt/sonatype/jna</B> версию 5.6.0 (с другими не тестировал)
  +
<BR>
  +
После чего найти grep и поправить все упоминания версии JNA
  +
  +
==Проблемы==
  +
===NumberFormatException: null===
  +
Ошибка со стектрейсом как в примере обозначает (скорее всего) что <B>-Dkaraf.etc=etc/karaf</B> указывает туда где нет файлов. А так как все пути относительные то это может быть следствием банально запуска руками (не через сервис) находясь в неправильном месте.
  +
<PRE>
  +
Error occurred shutting down framework: java.lang.NumberFormatException: null
  +
java.lang.NumberFormatException: null
  +
at java.lang.Integer.parseInt(Integer.java:542)
  +
at java.lang.Integer.parseInt(Integer.java:615)
  +
at org.apache.karaf.main.ConfigProperties.<init>(ConfigProperties.java:235)
  +
at org.apache.karaf.main.Main.updateInstancePidAfterShutdown(Main.java:227)
  +
at org.sonatype.nexus.karaf.NexusMain.main(NexusMain.java:67)
  +
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  +
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  +
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  +
at java.lang.reflect.Method.invoke(Method.java:498)
  +
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:85)
  +
at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:65)
 
</PRE>
 
</PRE>

Версия 17:36, 7 октября 2020


Репозиторий всего подряд

На Расберри есть некоторые особенности но в целом документация подходит для разных систем

Установка

apt install openjdk-8-jdk
java -version
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) Client VM (build 25.0-b70, mixed mode)

Более новая Java может не работать - не тестировалось

Добавить репозиторий и ключ

 /etc/apt/sources.list.d/sonatype-community.list
deb [arch=all] https://repo.sonatype.com/repository/community-apt-hosted/ bionic main
#deb https://repo.sonatype.com/repository/community-apt-hosted/ bionic main
wget https://repo.sonatype.com/repository/community-hosted/pki/deb-gpg/DEB-GPG-KEY-Sonatype.asc
sudo apt-key add DEB-GPG-KEY-Sonatype.asc
apt-get update
apt-get install nexus-repository-manager 

Особенности установки под Rasberry

 /opt/sonatype/nexus3/bin/nexus.vmoptions
-Xms1200M
-Xmx1200M
-XX:MaxDirectMemorySize=2G
-XX:+UnlockDiagnosticVMOptions
-XX:+LogVMOutput
-XX:LogFile=/opt/sonatype/sonatype-work/nexus3/log/jvm.log
-XX:-OmitStackTraceInFastThrow
-Djava.net.preferIPv4Stack=true
-Dkaraf.home=.
-Dkaraf.base=.
-Dkaraf.etc=etc/karaf
-Djava.util.logging.config.file=etc/karaf/java.util.logging.properties
-Dkaraf.data=/opt/sonatype/sonatype-work/nexus3
-Dkaraf.log=/opt/sonatype/sonatype-work/nexus3/log
-Djava.io.tmpdir=/opt/sonatype/sonatype-work/nexus3/tmp
-Dkaraf.startLocalConsole=false
#
# additional vmoptions needed for Java9+
#
# --add-reads=java.xml=java.logging
# --add-exports=java.base/org.apache.karaf.specs.locator=java.xml,ALL-UNNAMED
# --patch-module=java.base=lib/endorsed/org.apache.karaf.specs.locator-4.2.9.jar
# --patch-module=java.xml=lib/endorsed/org.apache.karaf.specs.java.xml-4.2.9.jar
# --add-opens=java.base/java.security=ALL-UNNAMED
# --add-opens=java.base/java.net=ALL-UNNAMED
# --add-opens=java.base/java.lang=ALL-UNNAMED
# --add-opens=java.base/java.util=ALL-UNNAMED
# --add-opens=java.naming/javax.naming.spi=ALL-UNNAMED
# --add-opens=java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED
# --add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED
# --add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED
# --add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED
# --add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED
# --add-exports=jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED
#
# comment out this vmoption when using Java9+
#
-Djava.endorsed.dirs=lib/endorsed:/opt/sonatype/jna


От файла по умолчанию отличаются:
Настройки памяти Java-машины

-Xms1200M
-Xmx1200M
-XX:MaxDirectMemorySize=2G

Дополнительные библиотеки

 -Djava.endorsed.dirs=lib/endorsed
 -Djava.endorsed.dirs=lib/endorsed:/opt/sonatype/jna

JNA версии 4.5.0 не работает на расберри - нужно скачать и положить в /opt/sonatype/jna версию 5.6.0 (с другими не тестировал)
После чего найти grep и поправить все упоминания версии JNA

Проблемы

NumberFormatException: null

Ошибка со стектрейсом как в примере обозначает (скорее всего) что -Dkaraf.etc=etc/karaf указывает туда где нет файлов. А так как все пути относительные то это может быть следствием банально запуска руками (не через сервис) находясь в неправильном месте.

Error occurred shutting down framework: java.lang.NumberFormatException: null
java.lang.NumberFormatException: null
	at java.lang.Integer.parseInt(Integer.java:542)
	at java.lang.Integer.parseInt(Integer.java:615)
	at org.apache.karaf.main.ConfigProperties.<init>(ConfigProperties.java:235)
	at org.apache.karaf.main.Main.updateInstancePidAfterShutdown(Main.java:227)
	at org.sonatype.nexus.karaf.NexusMain.main(NexusMain.java:67)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:85)
	at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:65)