java - 如何为我的程序生成工作 jar 文件?

标签 java jar jsoup

我对 java 比较陌生,事实上这是我的第一个程序。我似乎在为我的 java 程序生成 jar 文件时遇到问题。这是一个非常基本的程序,仅从网站获取数据,然后将其显示在图形用户界面中。该程序依赖于 Jsoup 和 HtmlCleaner。 gui 是用 JFormDesigner 制作的。

回到问题上来,当我使用 eclipse 运行程序时,一切运行完美。没有任何问题。但是,当我将它作为导出的 jar(或使用 Jar Maker 制作的 jar)运行时,GUI 甚至都没有显示。奇怪的是,当我使用 .bat 文件运行它时,会显示 GUI,但程序不会执行它应该执行的操作。

我真的被困住了,我不确定接下来要尝试什么。任何帮助将不胜感激。

//package com.stackoverflow.q2835505;


import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.awt.*;

import javax.swing.*;

import com.sun.xml.internal.ws.util.StringUtils;

public class TestDumper extends JFrame {
public static String test = "+";
public static String test1 = "-";
public static String itemID;
public static String stab;
public static String slash;
public static String crush;
public static String magic;
public static String range;
public static String stabDef;
public static String slashDef;
public static String crushDef;
public static String magicDef;
public static String rangeDef;
public static String Str;
public static String Prayer;
public static String lowAlch;
public static String highAlch;
public static String Name;
public boolean guiWait = false;
public static boolean printed = true;



    public static void main(String[] args) throws Exception {
        statGrabber g = new statGrabber();
        g.setDefaultCloseOperation(EXIT_ON_CLOSE);
        g.setVisible(true);

        for ( ; ; ) {
        while(g.test){
        String url = g.textField2.getText();
        Document document = Jsoup.connect(url).get();
        stab = document.select("table.wikitable.smallpadding tbody tr td").tagName("TD").eq(2).text();
        slash = document.select("table.wikitable.smallpadding tbody tr td").tagName("TD").eq(3).text();
        crush = document.select("table.wikitable.smallpadding tbody tr td").tagName("TD").eq(4).text();
        magic = document.select("table.wikitable.smallpadding tbody tr td").tagName("TD").eq(5).text();
        range = document.select("table.wikitable.smallpadding tbody tr td").tagName("TD").eq(6).text();
        stabDef = document.select("table.wikitable.smallpadding tbody tr td").tagName("TD").eq(7).text();
        slashDef = document.select("table.wikitable.smallpadding tbody tr td").tagName("TD").eq(8).text();
        crushDef = document.select("table.wikitable.smallpadding tbody tr td").tagName("TD").eq(9).text();
        magicDef = document.select("table.wikitable.smallpadding tbody tr td").tagName("TD").eq(10).text();
        rangeDef = document.select("table.wikitable.smallpadding tbody tr td").tagName("TD").eq(11).text();
        Str = document.select("table.wikitable.smallpadding tbody tr td").tagName("TD").eq(16).text();
        Prayer = document.select("table.wikitable.smallpadding tbody tr td").tagName("TD").eq(17).text();
        Name = document.select("table.wikitable.infobox caption b").text();
        highAlch = document.select("table.wikitable.infobox tbody tr td").tagName("TD").eq(8).text();
        lowAlch =  document.select("table.wikitable.infobox tbody tr td").tagName("TD").eq(9).text();
        g.sweet = true;
       // String shopPrice = document.select("table.wikitable.infobox tbody tr td").tagName("TD").eq(11).text();


       if(stab.startsWith(test)){
           stab = stab.substring(1);
       }
       if(slash.startsWith(test)){
           slash = slash.substring(1);
       }
       if(crush.startsWith(test)){
           crush = crush.substring(1);
       }
       if(magic.startsWith(test)){
           magic.trim();
           magic = magic.substring(1);
       }
       if(range.startsWith(test)){
           range.trim();
           range = range.substring(1);
       }
       if(stabDef.startsWith(test)){
           stabDef = stabDef.substring(1);
       }
       if(slashDef.startsWith(test)){
           slashDef = slashDef.substring(1);
       }
       if(crushDef.startsWith(test)){
           crushDef = crushDef.substring(1);
       }
       if(magicDef.startsWith(test)){
           magicDef.trim();
           magicDef = magicDef.substring(1);
       }
       if(rangeDef.startsWith(test)){
           rangeDef.trim();
           rangeDef = rangeDef.substring(1);
       }
       if(Str.startsWith(test)){
           Str.trim();
           Str = Str.substring(1);
       }
       if(Prayer.startsWith(test)){
           Prayer.trim();
           Prayer = Prayer.substring(1);
       }


       if(highAlch.equalsIgnoreCase("Cannot be alchemised")){
           highAlch = "0";
           lowAlch = "0";
       }
       else{
           highAlch = highAlch.replace(",", "");
           highAlch = highAlch.replace(" ", "");
           highAlch = highAlch.replace("c", "");
           highAlch = highAlch.replace("o", "");
           highAlch = highAlch.replace("i", "");
           highAlch = highAlch.replace("n", "");
           highAlch = highAlch.replace("s", "");

           lowAlch = lowAlch.replace(",", "");
           lowAlch = lowAlch.replace(" ", "");
           lowAlch = lowAlch.replace("c", "");
           lowAlch = lowAlch.replace("o", "");
           lowAlch = lowAlch.replace("i", "");
           lowAlch = lowAlch.replace("n", "");
           lowAlch = lowAlch.replace("s", "");
       }

       while(printed){
        System.out.print("item = "+ itemID+"\t");
        System.out.print(Name.replace(" ", "_")+"\t");
        System.out.print(Name.replace(" ", "_")+"\t");
        System.out.print(highAlch+"\t");
        System.out.print(lowAlch+"\t");
        System.out.print("0\t");
        System.out.print(stab+"\t");
        System.out.print(slash+"\t");
        System.out.print(crush+"\t");
        System.out.print(magic+"\t");
        System.out.print(range+"\t");
        System.out.print(stabDef+"\t");
        System.out.print(slashDef+"\t");
        System.out.print(crushDef+"\t");
        System.out.print(magicDef+"\t");
        System.out.print(rangeDef+"\t");
        System.out.print(Str+"\t");
        System.out.print(Prayer+"\n");
        System.out.print("Connected!\n");
        printed = false;
       }
        }
    }
    }
    }  

最佳答案

在eclipse中,你可以右键单击项目名称

  • 选择导出
  • 在 Java 类别中选择 Runable JAR file
  • 选择主类的配置(如果没有找到,你应该先运行你的应用)
  • 设置导出目的地
  • 选择复制需要的库到子文件夹
  • 完成

关于java - 如何为我的程序生成工作 jar 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10613698/

相关文章:

带有外部 .jar 的 Java 命令行

java - 如何从浏览器启动 Word 文档作为模板?

java - Tomcat - 当应用程序未正确部署时如何获取 http 500 而不是 404?

java - 无法处理 DOMSource : check that saxon9-dom. jar 在类路径上

java - 如何获取Jsoup中特定html元素的内容?

java - 使用 JSoup 的 HTML 中样式元素的数量

java - 如何使用 Jsoup 登录 ASPX 网站

java - 跟踪 Spring Web 应用程序上的用户 Activity

java - 纹理图集文件中的分割参数?

java - netbeans构建Maven项目jar文件,无需依赖jar文件