Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / не работает jar-ник / 13 сообщений из 13, страница 1 из 1
28.03.2016, 15:49
    #39202254
goldenhawk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает jar-ник
Собираю проект в jar

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<build>
    <sourceDirectory>src</sourceDirectory>
    <finalName>Application</finalName>
    
     <plugins>
      <!-- Maven JAR Plugin --> 
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <archive>
            <manifest>
              <mainClass>com.epam.aza.Application</mainClass>
            </manifest>
          </archive>
        </configuration>
      </plugin>
      
    </plugins>
  </build>  



в src/main/java/com/epam/aza лежит файл Application
src/main/resources/config.xml лежит файл xml

В Application.java
Код: java
1.
2.
ApplicationContext context = new ClassPathXmlApplicationContext(
				"config.xml"); 



При запуске в ide eclipse все работает.

Когда делаю jar-ник и запускаю , java -jar Application.jar

выдает ошибку NoClassDefFoundError ..ApplicationContext.

т.е. в classpath не ложится config.xml ??? Пробывал сделать jarник не используя xml , то jar запускался и работал.
...
Рейтинг: 0 / 0
28.03.2016, 16:08
    #39202272
lleming
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает jar-ник
ApplicationContext - в каком jar нике/ах лежит ?

Их тоже не помешало бы в classpath загнать или как минимум настроить чтобы maven скопировал бы их рядом лежащую директорию lib и добавил Jar ки в этой директории в classpath в META-INF
...
Рейтинг: 0 / 0
28.03.2016, 16:09
    #39202275
lleming
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает jar-ник
самое первое с гугл

http://stackoverflow.com/questions/574594/how-can-i-create-an-executable-jar-with-dependencies-using-maven

там два вариата

maven-assembly-plugin
и
maven-jar-plugin
...
Рейтинг: 0 / 0
28.03.2016, 16:16
    #39202284
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает jar-ник
goldenhawk,

У вас есть библиотеки. В которых есть класс ApplicationContext. Этих библиотек Java в вашем случае и не видит. Ключевое слово - classpath.

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.8</version>
                <executions>
                    <execution>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>build-classpath</goal>
                        </goals>
                        <configuration>
                            <outputProperty>class-path</outputProperty>
                            <pathSeparator> </pathSeparator>
                            <prefix>lib</prefix>
                            <outputAbsoluteArtifactFilename>false</outputAbsoluteArtifactFilename>
                        </configuration>
                    </execution>                    <execution>
                    <id>copy-dependencies</id>
                    <phase>package</phase>
                    <goals>
                        <goal>copy-dependencies</goal>
                    </goals>
                </execution>
                </executions>
                <configuration>
                    <outputProperty>class-path</outputProperty>
                    <outputDirectory>${target.dir}/lib</outputDirectory>
                </configuration>
            </plugin>


            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>
                             ...
                        </manifest>
                    </archive>
                    <outputDirectory>${target.dir}</outputDirectory>
                </configuration>
            </plugin>



Либо запускать надо не как -jar а с именем класса

Код: java
1.
java -cp Application.jar;libs/*.jar com.epam.aza.Application
...
Рейтинг: 0 / 0
28.03.2016, 16:35
    #39202319
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает jar-ник
Слабеет EPAM слабеет...
...
Рейтинг: 0 / 0
28.03.2016, 16:39
    #39202325
goldenhawk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает jar-ник
lleming,

"config.xml" прописаны бины, ApplicationContext у меня нет. это не веб приложение

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

	<bean id="c1" class="com.ex2.Class1">
	</bean>
	
	<bean id="c2" class="com.ex2.Class2">
	</bean>
	
	<bean id="c3" class="com.ex2.Class3">
	</bean>

</beans>



я так понимаю config.xml не ложится в classpath. как его туда положить ?
...
Рейтинг: 0 / 0
28.03.2016, 16:54
    #39202351
goldenhawk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает jar-ник
mayton,
epam для примера написал
...
Рейтинг: 0 / 0
28.03.2016, 16:54
    #39202353
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает jar-ник
goldenhawk,

Вы все комментарии проигнорировали и решили написать свой. Прям как моя жена. Она задаёт вопрос, но ей всё равно что я отвечу. Решение уже принято.
...
Рейтинг: 0 / 0
28.03.2016, 16:59
    #39202359
goldenhawk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает jar-ник
Blazkowicz,

ApplicationContext это и есть "config.xml" он лежит в моем проекте в src/main/resources/config.xml
...
Рейтинг: 0 / 0
28.03.2016, 17:01
    #39202362
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает jar-ник
goldenhawkApplicationContext это и есть "config.xml" он лежит в моем проекте в src/main/resources/config.xml
Ох, как всё запущено-то. ApplicationContext это класс из Spring Framework, который использует ваше приложение. config.xml это конфиг для application context. Это правильно. Только к проблеме оно никакого отношения не имеет. У вас Java класс ApplicationContext найти не может ещё до того как искать config.xml.
...
Рейтинг: 0 / 0
28.03.2016, 18:06
    #39202425
goldenhawk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает jar-ник
Сработало с таким вариантом

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<build>
  <plugins>
    <plugin>
      <artifactId>maven-assembly-plugin</artifactId>
      <configuration>
        <archive>
          <manifest>
            <mainClass>fully.qualified.MainClass</mainClass>
          </manifest>
        </archive>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
      </configuration>
    </plugin>
  </plugins>
</build>



mvn clean compile assembly:single
...
Рейтинг: 0 / 0
28.03.2016, 18:08
    #39202429
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает jar-ник
goldenhawkСработало с таким вариантом
Методом научного тыка проб и ошибок.
...
Рейтинг: 0 / 0
29.03.2016, 07:02
    #39202680
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает jar-ник
goldenhawkСобираю проект в jar

При запуске в ide eclipse все работает.

Когда делаю jar-ник и запускаю , java -jar Application.jar

выдает ошибку NoClassDefFoundError ..ApplicationContext.

т.е. в classpath не ложится config.xml ??? Пробывал сделать jarник не используя xml , то jar запускался и работал.

jar-ник не видит spring-овые библиотеки.
В Eclipse запускается, т.к. они есть в workspace.
А jar-ник не хапускается, т.к. их кто-то не положил рядом.

Погуглите как в maven jar-плагине добавлять внешние библиотеки.
Заодно config.xml вынесите из jar-ки.

В общем удачи.
Задача решается в течении 15-минут неспешного гугления. ;-)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / не работает jar-ник / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]