powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Jetty и автономный веб сервер в виде jar-файла
10 сообщений из 10, страница 1 из 1
Jetty и автономный веб сервер в виде jar-файла
    #39288911
sanringo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день. Создал проект в IDE Netbeanse. Задумка была такая: на выходе иметь автономный jar-файл, способный обрабатывать REST запросы. В будущем прикрутить в нём Spring Boot. Запускаться сервер должен командной строкой вида java -jar myServer.jar.
Что я сделал:
JettyStarter.java

Код: java
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.
package com.mycompany.mavenproject1;

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.server.handler.ResourceHandler;

public class JettyStarter {
    public static void main(String[] args) {
        Server server = new Server();
        ServerConnector connector = new ServerConnector(server);
        connector.setPort(8080);
        server.addConnector(connector);
 
        // add handler
        ResourceHandler resource_handler = new ResourceHandler();
        resource_handler.setDirectoriesListed(true);
        resource_handler.setWelcomeFiles(new String[]{ "index.html" });
        resource_handler.setResourceBase(".");
         
        server.setHandler(resource_handler);
 
        try {
            server.start();
            server.join();
        } catch (Throwable t) {
            t.printStackTrace(System.err);
        }
    }
}



pom.xml

Код: 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.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany</groupId>
    <artifactId>mavenproject1</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
    
    <dependencies>
        <!-- Server, ServerConnector -->
        <dependency> 
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-server</artifactId>
            <version>9.1.3.v20140225</version>
        </dependency>
     
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
  
    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.5.0</version>
                <configuration>
                    <mainClass>com.mycompany.mavenproject1.JettyStarter</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>



Запускаю в Netbeans, сервер стартует, по http://localhost:8080 зайти могу.
Пытаюсь выполнить команду java -jar "D:\Projects\mavenproject1\target\mavenproject1-1.0-SNAPSHOT.jar", выходит ошибка no main manifest attribute, in D:\Projects\mavenproject1\target\mavenproject1-1.0-SNAPSHOT.jar.
mainClass в pom.xml вроде прописан правильно. В чем может быть ошибка?
...
Рейтинг: 0 / 0
Jetty и автономный веб сервер в виде jar-файла
    #39288914
sanringo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрел, в файле манифеста действительно нет main класса.
...
Рейтинг: 0 / 0
Jetty и автономный веб сервер в виде jar-файла
    #39288950
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanringoПосмотрел, в файле манифеста действительно нет main класса.
Ну, наверное Maven надо подучить? maven-jar-plugin, например.
...
Рейтинг: 0 / 0
Jetty и автономный веб сервер в виде jar-файла
    #39288972
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное лучше даже maven-assembly-plugin

Ибо сингл jar (и как мимумум jetty dependency уже там в комплекте)

https://www.mkyong.com/maven/create-a-fat-jar-file-maven-assembly-plugin/
...
Рейтинг: 0 / 0
Jetty и автономный веб сервер в виде jar-файла
    #39289046
sanringo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming, ошибка сохраняется.
заменил на
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<build>
        <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-jar-plugin</artifactId>
              <version>2.6</version>
              <configuration>
                  <archive>
                      <manifest>
                          <mainClass>com.mycompany.mavenproject1.JettyStarter</mainClass>
                      </manifest>
                  </archive>
              </configuration>
          </plugin>
      </plugins>
    </build>


в манифесте появился главный класс. Но появилась другая ошибка Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/jetty/server/Connector
...
Рейтинг: 0 / 0
Jetty и автономный веб сервер в виде jar-файла
    #39289053
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы принципиально даже документацию по указаным плагинам не прочитали:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
            <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>
                            <mainClass>com.mycompany.mavenproject1.JettyStarter</mainClass>
                            <packageName>com.mycompany.mavenproject1</packageName>
                        </manifest>
                    </archive>
                    <outputDirectory>${target.dir}</outputDirectory>
                </configuration>
            </plugin>



И ещё maven-dependency-plugin для того чтобы скопировать либы. Возможно в assembly это проще конфигурируется?
...
Рейтинг: 0 / 0
Jetty и автономный веб сервер в виде jar-файла
    #39289060
sanringo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка сохранилась
...
Рейтинг: 0 / 0
Jetty и автономный веб сервер в виде jar-файла
    #39289101
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanringoОшибка сохранилась
Конструктивно.
Знаком ли вам термин classpath?
Знаете ли вы о том как он прописывается в манифесте?
...
Рейтинг: 0 / 0
Jetty и автономный веб сервер в виде jar-файла
    #39289383
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanringoДобрый день. Создал проект в IDE Netbeanse. Задумка была такая: на выходе иметь автономный jar-файл, способный обрабатывать REST запросы. В будущем прикрутить в нём Spring Boot.
...
В чем может быть ошибка?

Не мучайте себя, да других тоже.
Сразу создайте проект Spring-boot.
Вот пример .

Замечание по умолчанию в spring-boot используется tomcat.
Но найти пример, как его заменить на jetty, не составит труда.
...
Рейтинг: 0 / 0
Jetty и автономный веб сервер в виде jar-файла
    #39289468
sanringo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо, разобрался
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Jetty и автономный веб сервер в виде jar-файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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