标签: jar

将清单添加到jar的已编译exe文件中

我有一个可运行的MyApp.jar,我通过使用launch4j将其编译为MyApp.exe,并且由于此应用需要管理员权限,因此我尝试通过遵循以下文章向其添加清单文件:http : //msdn.microsoft.com/zh- us / library / bb756929.aspx 当我表演时

mt.exe –manifest manifest.xml –outputresource:MyApp.exe;#1
Run Code Online (Sandbox Code Playgroud)

该过程已完成,没有错误,但是MyApp.exe文件的大小仅从6mb减小到32kb,并且当我尝试运行它时,出现以下错误:错误:jarfile无效或损坏。也许有人知道这是怎么回事?我的清单文件如下:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
  <assemblyIdentity version="1.0.0.0"
     processorArchitecture="X86"
     name="MyApp.exe"
     type="win32"/> 
  <description>{app name}</description> 
  <!-- Identify the application security requirements. -->
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel
          level="requireAdministrator"
          uiAccess="true"/>
        </requestedPrivileges>
       </security>
  </trustInfo>
</assembly>
Run Code Online (Sandbox Code Playgroud)

windows permissions uac jar

1
推荐指数
1
解决办法
2131
查看次数

将commons-net jar添加到build.gradle文件中

我在myEclipse中有这一行

import org.apache.commons.net.util.SubnetUtils;
Run Code Online (Sandbox Code Playgroud)

我在构建路径中导入了JAR文件(commons-net-3.3.jar).我有commons-lang3添加到我在build.gradle中的依赖项,它工作正常但是当我添加commons-net时,cmd给了我一个错误,说它找不到commons-net.这是build.gradle中依赖项的代码片段:

dependencies {
    testCompile "junit:junit:4.11"
    compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.3.2'
    compile group: 'org.apache.commons', name: 'commons-net', version: '3.3'
  }
Run Code Online (Sandbox Code Playgroud)

我需要更改什么来修复此错误?

java dependencies cmd jar gradle

1
推荐指数
1
解决办法
5164
查看次数

如何动态添加静态资源到spring-boot jar应用程序?

我有spring-boot应用程序,它使用html静态页面创建目录.当我按命令启动应用程序时:mvn spring-boot:run一切正常(带有静态页面的文件夹在/resources/目录中创建,客户端可以访问页面)但我希望将我的应用程序部署为jar文件,在这里我有我的问题,我怎样才能实现我的目标?我知道我不能动态地将资源添加到jar,但也许我可以创建包含我的jar文件旁边的资源的文件夹,并以某种方式将此文件夹添加到公共资源,以便客户端可以访问html页面.

java resources spring jar spring-boot

1
推荐指数
1
解决办法
4018
查看次数

如何从maven-jar-plugin中的jar中排除java文件?

我创建了一个pom.xml来编译我的项目并将其打包为jar,实际上它是comiples并创建了jar - 问题是我有一个包含类和java内部的jar,我只想要里面的类.

我如何丢失java文件?我不需要它们.

这是我创建的pom.xml:

<build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
        <finalName>api-interfaces</finalName>
        <plugins>
        <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
                <executions>
                    <execution>
                        <id>make-a-jar</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            <configuration>
          <excludes>
            <exclude>*.properties</exclude>
              <exclude>*.xml</exclude>
               <exclude>sql/**</exclude>
                <exclude>META-INF/**</exclude>
                 <exclude>*.jar</exclude>
                  <exclude>*.java</exclude>
                   <exclude>default-configs/**</exclude>

          </excludes>
          </configuration>
        </plugin>
       </plugins>
    </build>
Run Code Online (Sandbox Code Playgroud)

这是我得到的罐子

jar maven maven-jar-plugin

1
推荐指数
1
解决办法
7851
查看次数

生成一个可运行的jar并在其中包含Maven中的库

我正在尝试使用Maven和Eclipse编译Java项目,但我尝试了很多在Web上看到的解决方案,但它们似乎都没有用.我只想构建应用程序,创建一个可运行的jar并包含所需的库.我尝试过maven-dependency或maven-assembly但我肯定会错过一些东西,因为我每次都失败了.

这是我的pom.xml,它还可以,还是错过了什么?

<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>

    <!-- Project Description -->
    <groupId>org.awax</groupId>
    <artifactId>toolbox</artifactId>
    <version>0.1.0</version>
    <name>ToolBox</name>
    <packaging>jar</packaging>
    <url>http://maven.apache.org</url>
    <description>Custom library containing useful code</description>

    <!-- Project Properties -->
    <properties>
        <jdk.version>1.7</jdk.version>
        <!-- Libraries Version -->
        <log4j.version>1.2.17</log4j.version>
        <jdom.version>2.0.5</jdom.version>
        <miglayout.version>3.7.4</miglayout.version>
        <jfreechart.version>1.0.19</jfreechart.version>
        <bounce.version>0.18</bounce.version>
        <!-- Maven Plugins Version -->
        <eclipse.version>2.9</eclipse.version>
        <compiler.version>3.2</compiler.version>
        <jar.version>2.5</jar.version>
        <assembly.version>2.4.1</assembly.version>
        <dependency.version>2.5.1</dependency.version>
    </properties>

    <!-- Project Libraries -->
    <dependencies>
        <!-- LOG4J -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>${log4j.version}</version>
        </dependency>
        <!-- Jdom -->
        <dependency>
            <groupId>org.jdom</groupId>
            <artifactId>jdom2</artifactId>
            <version>${jdom.version}</version>
        </dependency>
        <!-- MigLayout -->
        <dependency>
            <groupId>com.miglayout</groupId>
            <artifactId>miglayout</artifactId>
            <version>${miglayout.version}</version>
        </dependency>
        <!-- JFreeChart …
Run Code Online (Sandbox Code Playgroud)

dependencies jar pom.xml maven runnable

1
推荐指数
1
解决办法
7376
查看次数

JavaFX 2窗口图标不起作用

我正在尝试向我的JavaFX 2应用程序添加一个Icon,但我找到的方法似乎不起作用.

Image icon = new Image(getClass().getResourceAsStream("/images/icon.png"));
stage.getIcons().add(icon);
Run Code Online (Sandbox Code Playgroud)

图标大小为32x32.

当我尝试

Image icon = new Image("http://goo.gl/kYEQl");
Run Code Online (Sandbox Code Playgroud)

它在Netbeans和可运行的jar中都有效.

我希望这可以解决.

java icons jar executable-jar javafx-2

1
推荐指数
1
解决办法
1798
查看次数

未找到文件异常-从jar执行时资源文件夹中的数据文件引发异常

我有一个Swing应用程序,试图将其打包到可运行的JAR文件中。它的DAO功能的一部分是以CSV格式读写内部的.dat文件src/main/resources/dictData.dat

我的问题是,每次尝试运行jar时,我都会

java.io.FileNotFoundException: file:/Users/jason/projects/test-dict/target/
    dictionary-jar-with-dependencies.jar!/dictData.dat 
    (No such file or directory)
Run Code Online (Sandbox Code Playgroud)

从命令行。这是通过一个罐子mvn packagemaven-assembly-plugin规格

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.4.1</version>
            <configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
                <archive>
                    <manifest>
                        <mainClass>com.test.dictionary.init.AppInit</mainClass>
                    </manifest>
                </archive>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
Run Code Online (Sandbox Code Playgroud)

我有一个FileIO类实现,可以处理对文件的读写。

public class FileIO implements IO{

    private static final String DICTIONARYFILE = "dictData.dat";
    private File dataFile;
    private Writer dataWriter;
    private Reader dataReader;

    @Override
    public Map<String, Word> loadDataFile(){
        ClassLoader classLoader = getClass().getClassLoader();
        Map<String, Word> dictMap = new HashMap<>();

        try { …
Run Code Online (Sandbox Code Playgroud)

java jar executable-jar maven

1
推荐指数
1
解决办法
3698
查看次数

在Ubuntu上执行Java会产生乱码输出

(根据评论和答案在下面更新)


我在Windows上开发了一些Java,并且我已经在该机器上成功执行了它.我第一次尝试在Ubuntu上执行它.我安装了OpenJDK-7-jre,并复制了jar和源代码.

罐子:

(djauth_venv)~/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build$ ls -la dependency_jars/
-rw-rw-r-- 1 jeffy jeffy 185140 Jun 12  2012 commons-io-2.4.jar
-rw-rw-r-- 1 jeffy jeffy  18863 Dec 11 12:53 templatefeather-0.1.1.2.jar
-rw-rw-r-- 1 jeffy jeffy 665303 Dec 11 12:52 xbnjava-0.1.5.jar
Run Code Online (Sandbox Code Playgroud)

尝试执行时

java BuildPartFour -classpath /usr/lib/jvm/java-7-openjdk-i386/jre/lib/rt.jar;/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/commons-io-2.4.jar;/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/templatefeather-0.1.1.2.jar;/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/xbnjava-0.1.5.jar

它导致每个罐子的许可被拒绝:

Exception in thread "main" java.lang.NoClassDefFoundError: com/github/xbn/io/PlainTextFileUtil
        at BuildPartFour.main(BuildPartFour.java:14)
Caused by: java.lang.ClassNotFoundException: com.github.xbn.io.PlainTextFileUtil
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        ... 1 more
-bash: /home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/commons-io-2.4.jar: Permission denied
-bash: /home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/templatefeather-0.1.1.2.jar: Permission denied
-bash: /home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/xbnjava-0.1.5.jar: …
Run Code Online (Sandbox Code Playgroud)

java ubuntu jar

1
推荐指数
1
解决办法
186
查看次数

程序在Eclipse中运行,但是导出的可运行jar文件将无法打开?

看来这是一个常见问题,但以前的帖子似乎都没有解决我的问题。

我相信我已将其范围缩小到一个问题。使用InputStream的任何应用程序都不会打开,但是我所有其他应用程序都可以正常运行。

该应用程序在Eclipse中运行良好,但是当我尝试运行jar文件时,该窗口甚至无法打开。

任务管理器显示它弹出大约一两秒钟,然后消失。

我已经尝试了导出时处理库的所有三个选项,但没有一个可以解决此问题。

谁能解释一下?

java eclipse jar file runnable

1
推荐指数
1
解决办法
1万
查看次数

远程调试java - 无法找到或加载主类

我正在尝试在远程计算机上调试java程序,其中包含以下命令:

java -Xdebug -Xrunjdwp:transport=dt_socket,address=9999,server=y  suspend=y -jar Test.jar
Run Code Online (Sandbox Code Playgroud)

当我在本地计算机上尝试使用eclipse进行远程调试时,我在远程计算机上看到此错误:

Listening for transport dt_socket at address: 9999
Error: Could not find or load main class suspend=y 
Run Code Online (Sandbox Code Playgroud)

我不明白,因为我在课程中有一个主要课程.
P/S:尝试运行jar文件时,我也有同样的错误

java Test.jar
Run Code Online (Sandbox Code Playgroud)

该项目使用Eclipse IDE构建.
有人能告诉我我做错了吗?
谢谢

java jar

1
推荐指数
1
解决办法
3819
查看次数