как создать связанную исполняемую банку с помощью Ant

Я просмотрел этот вопрос, но он не решил моей проблемы, поэтому я решил опубликовать новый.

Мне нужно создать исполняемый jar-файл (запускаемый простым двойным щелчком мыши) с помощью Ant. У меня есть следующий код Java и файл build.xml, который отлично компилирует код и создает файл jar, но когда я пытаюсь запустить банку двойным щелчком, я получаю сообщение «Не удалось найти основной класс: HttpController. Ява."

У меня есть подозрение, что моя проблема связана с загрузкой внешнего Apache Http.jar, так как я успешно построил и запустил jar для проекта, который идентичен, за исключением того, что он не ссылается любые внешние баночки.

Вот мой код:

HttpController.java:

package pack;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.HttpMessage;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

public class HttpController {
        public static void main(String[] args) {

        DefaultHttpClient client = new DefaultHttpClient();
        HttpHost httphost = new HttpHost("localhost", 80);

        try {

            HttpMessage req = new HttpGet("/test.html");
            HttpResponse resp = client.execute(httphost, (HttpGet) req);
            HttpEntity entity = resp.getEntity();

            BufferedReader in = new BufferedReader(new InputStreamReader(
                    entity.getContent()));

            String line = null;
            while ((line = in.readLine()) != null) {
                System.out.println(line);
            }

        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            // shutdown the connection
            client.getConnectionManager().shutdown();
        }
    }
}

build.xml:

    
    
    
    
    
    
    

        
        
            
        
    

    
        
        
    

    
        
        
            
        
    

    
        
        
        
            
        
        
            
                
                
            
          
    

    
        
    

MANIFEST.MF:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.3
Created-By: 1.6.0_31-b05 (Sun Microsystems Inc.)
Main-Class: HttpController
Class-Path: dist/lib

EDITbuild.xml обновлен в соответствии с ответом Майка. Проблема до сих пор не решена. Также опубликовано содержимое файла манифеста, согласно ответу Danation.

7
задан Community 23 May 2017 в 12:18
поделиться