Какие проблемы следует специально проверять при развертывании серверного приложения, написанного на Java (без каких-либо конкретных зависимостей от платформы), которое было написано и протестировано в Windows.
Два, о которых я знаю:
Убедитесь, что любые сторонние JAR-файлы, которые вы используете (например, SWT) имеют соответствующую платформо-зависимую версию. Хотя вы сказали «без каких-либо конкретных зависимостей от платформы», поведение, зависящее от платформы, иногда может быть скрыто.
Также:
C:\Program Files
?)File.pathSeparator
?)1) Убедитесь, что ваши JVM идентичны на обеих платформах. 2) Вероятно, потребуется некоторый уровень настройки JVM. 3) Включите ведение журнала вашей JVM на короткий период времени, чтобы определить, есть ли у вас проблемы.
Вы почти наверняка захотите установить
-Djava.awt.headless=true
на случай, если какие-либо библиотеки попытаются выполнить рендеринг шрифтов, манипуляции с изображениями или что-то еще, что касается Swing, AWT или ImageIO
По общему признанию, не особенно специфичен для Windows-Unix, но стоит отметить, исходя из нашего опыта:
Проверьте настройки в $ JAVA_HOME / jre / lib / security / java.security - особенно networkaddress.cache.ttl
- Sun JRE по умолчанию будет кэшировать запросы DNS навсегда, что несколько раз укусило нас и наших клиентов. '-Dsun.net.inetaddr.ttl=60
'должен переопределить его из командной строки.
Убедитесь, что вы используете кучу подходящего размера: -Xmx2048m
или аналогичный (в зависимости от требований вашего приложения)