2016-04-20 3 views
0

У меня возникла проблема, когда я запускаю причал во встроенном режиме после создания файла jar. Он работает из того же места, где создается jar, потому что он может находить папку src/main/webapp, но когда я копирую свою банку, она не работает. И когда я открываю свою банку, у нее нет src/main/webapp, все на корневом уровне.Встраиваемый причал не работает вне eclipse ide также jar не содержит webapp или мы корневая папка

  1. Прежде всего, почему это создает все на уровне корня любой конкретной причины?

  2. Могу ли я запустить свою баночку из командной строки Java, если нет SRC/главного/WebApp, если да, то в таком случае, что изгоняется мой webcontext ресурс выглядеть в моем главном классе

ответ

1

Ьга это:

String webappDir = this.getClass().getClassLoader().getResource("applicationContext.xml").toExternalForm(); 
webappDir = webappDir.substring(0, webappDir.lastIndexOf('/') + 1); 
String webXmlPath = webappDir + "WEB_INF/web.xml"; 

WebAppContext context = new WebAppContext(webappDir, contextPath); 
context.setDescriptor(webXmlPath); 
context.setResourceBase(webappDir); 
context.setClassLoader(new WebAppClassLoader(this.getClass().getClassLoader(), context)); 

Run from IDE или Jar оба работают.

Смежные вопросы