标签: executable-jar

将Scala应用程序导出为可运行的JAR

您是否可以告诉我,如果可以的话,如何将Scala应用程序导出到可以直接在JVM中运行的普通可运行JAR?
谢谢

jvm scala executable-jar

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

使用JDBC和编译将Microsoft Access数据库连接到Java

对于学校数据库项目,我们正在制作数据库程序(用户GUI和数据库).使用Microsoft Access 2010我创建了数据库并使用一些示例数据填充它,并将其保存为.mdb格式并将其放在我的项目文件夹中.

在eclipse中运行时,以下代码工作正常,连接甚至检索查询.但是我发现我无法将代码导出到jar并运行它(这是项目所需的,在CD或闪存驱动器上为它们提供程序的工作副本),而且我也无法移植代码到Netbeans让它工作,以及尝试在Linux机器上编译.

我认为这是包含驱动程序或尝试使用Microsoft访问的问题.运行jar或在Netbeans上运行时得到的错误在代码下方给出.所以我要么问我如何包含驱动程序以使程序可移植,或者我怎么能解决这个问题呢?

提前致谢

import java.sql.*;

public class JDBCTest {
    static Connection connection;
    static Statement statement;

    public static void main(String args[]){

        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
            String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=TLDATABASEDBM.mdb";
            connection = DriverManager.getConnection( database ,"",""); 

            buildStatement();
            executeQuery();

        }catch(Exception e){
            e.printStackTrace();
            System.out.println("Error!");
        }
    }

    public static void buildStatement() throws SQLException {
        statement = connection.createStatement();
    }

    public static void executeQuery() throws SQLException {

        boolean foundResults = statement.execute("SELECT * FROM tblStaff  AS x WHERE City='Calgary'");
        if(foundResults){
            ResultSet set = statement.getResultSet(); …
Run Code Online (Sandbox Code Playgroud)

java ms-access database-connection jdbc executable-jar

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

Ubuntu上的可执行JAR(NetBeans)

我正在NetBeans中编写一个简单的Swing应用程序,并且是第一次在Ubuntu机器上执行此操作.

众所周知,NetBeans会自动为"设为主"的项目创建可执行JAR.

在Windows上,您可以双击可执行JAR,它会自动调用JRE并运行应用程序.在Ubuntu中,双击.jar文件会导致在归档管理器中打开该文件.为了运行我的JAR,我要么右键单击它并选择"Open with OpenJDK Java 6 Runtime",要么从命令行启动它.

从命令行我没有任何问题.但是,当我尝试从右键单击菜单启动它时,我收到一条错误,内容如下:

文件MySwingApp.jar未标记为可执行文件...

所以我有两个问题:

  1. 如何将其设置为可执行文件?这是我可以在NB内部做的事情,还是我必须使用shell?如果我必须通过shell设置权限,那是否与NB的自动生成**可执行**JARS的策略相冲突?无论如何我会使用什么命令来翻转可执行位?!?!
  2. 这只是一个Linux打嗝?我想把这个JAR发送给运行Windows的朋友,我希望他们能够双击它并让程序启动

谢谢你的任何有用的建议!

java linux ubuntu netbeans executable-jar

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

使用Java + Scala + Slick2D时"无法从给定的启动配置中找到主要方法"

我有一个项目,我正在使用Java + Scala + Slick2D.

从日食开始,项目本身运行良好.但是当我尝试制作一个jar文件时,它只是拒绝工作.这是我在尝试将其导出为Runnable jar时遇到的错误:

在此输入图像描述

如果我尝试导出只是一个Jar文件,它将无法找到主类:

在此输入图像描述

当然,游戏中有一个主要类.TicTacGame.但它拒绝承认它.我尝试用简单的Hello World项目创建一个可执行文件,它运行正常.它甚至可以检测到主类.为什么Eclipse在这种情况下没有检测到主类?

PS:我还尝试提取创建的.jar文件,编辑manifest.mf文件以添加Main-Class:game.TicTacGame,输入两个新行并重新创建jar.然后它给了我一个损坏的jar文件错误.

我在我的智慧结束,并希望在这方面有任何帮助.我正在使用带有Eclipse Juno,Java 1.7和Scala 2.10的Windows 7 x64

编辑:Main类是Java

java scala executable-jar slick2d eclipse-juno

9
推荐指数
2
解决办法
3万
查看次数

在一个罐子里面运行Junit测试类,在jar外部使用junit

所以我已经使用one-jar在jar文件中打包了我的类和它们的依赖项(apache commons cli)(这很容易做到,请参阅命令行方法部分).现在我很好奇我是否可以使用类外的Junit jar在jar中运行java测试类.所以里面测试类的路径sw.jar是:

sw.jar\main\sw.jar\uoa\di\ys11\hw2\TestSmithWaterman.class
Run Code Online (Sandbox Code Playgroud)

(这main\是一个罐子的事情).我尝试过各种变化:

java -jar -cp lib/junit.jar org.junit.runner.JUnitCore  uoa.di.ys11.hw2.TestSmithWaterman
Run Code Online (Sandbox Code Playgroud)

没有运气 - 所以命令行会是什么?或者我是否需要以某种方式修改单罐清单?

编辑/boot-manifest.mf::

Manifest-Version: 1.0
Main-Class: com.simontuffs.onejar.Boot
One-Jar-Main-Class: uoa.di.ys11.hw2.Hw2
Run Code Online (Sandbox Code Playgroud)

/META-INF/MANIFEST.MF:

Manifest-Version: 1.0
Created-By: 1.7.0_09 (Oracle Corporation)
Main-Class: com.simontuffs.onejar.Boot
One-Jar-Main-Class: uoa.di.ys11.hw2.Hw2
Run Code Online (Sandbox Code Playgroud)

java junit command-line jar executable-jar

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

如何从jar/bat /运行独立的TestNG项目

我有一个TestNG项目.没有任何主类,目前它正在运行,如"Run As TestNG".

我想将它导出为runnable jar或jar,这样任何人都可以从命令行命中命令,测试用例开始运行.

有人可以帮我解决这个问题吗?或建议任何其他方式以可运行的形式提供代码...

我没有使用蚂蚁或maven.

谢谢

testng jar executable-jar

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

使用可执行JAR时指定Log4j2配置文件

使用可执行JAR文件时,我无法指定Log4j2配置文件位置.如果我将所有JAR分开,它可以正常工作,但是当我尝试将它们组合成一个可执行的JAR文件时,由于某种原因,log4j2.xml文件不会从命令行中获取.

我已经尝试了这两种指定位置的方法:

java -Djava.libary.path=..\bin -cp ..\config -jar MyApplication.jar

java -Djava.libary.path=..\bin -Dlog4j.configurationFile=..\config\log4j2.xml -jar MyApplication.jar
Run Code Online (Sandbox Code Playgroud)

这些都没有奏效.我还尝试将包含配置文件的目录添加到JAR清单文件中的类路径中:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.2
Created-By: 1.7.0_21-b11 (Oracle Corporation)
Main-Class: com.abc.MyApplication
Class-Path: ../config/
Run Code Online (Sandbox Code Playgroud)

我也没有成功使用这种方法.我有什么想法可能做错了吗?

在此先感谢您的帮助!


编辑

啊,我相信我误解了这个问题.最初,这是我在命令行输出中看到的错误:

ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
Run Code Online (Sandbox Code Playgroud)

但是在我改变事物的某个时刻,错误消息发生了变化而我没有意识到这一点:

ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console...
Run Code Online (Sandbox Code Playgroud)

因此,我想通了,是即使可执行的JAR我是建设了包括log4j-core-2.1.jarlog4j-api-2.1.jarJAR文件在它的内部,并在MANIFEST文件中的类路径中,有一个问题.我编写我的ant文件以将库组合到我正在创建的单个JAR中的方式是成功复制目录和类文件,但由于某些原因没有复制其他类型,这显然也是必要的(例如Log4j-config …

java logging executable-jar log4j2

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

为JAR文件启动嵌入式jetty服务器

我想要做的是构建一个JAR包含我的项目的可执行文件.我已经将它的依赖项包含在它旁边,也包含在JAR文件中,所以我的目录列表看起来像这样:

〜/项目/ Java的/ web应用程序输入/输出:

网络app.jar

dependency1.jar

dependency2.jar

dependency3.jar

我知道并确信我的问题不是来自依赖关系,因为我的应用程序正常运行,直到我启动Jetty嵌入式的那一刻.

我用来启动Jetty的代码是这样的:

public class ServerExecutionGoal implements ExecutionGoal {    

    private final static Logger logger = Logger.getLogger(ServerExecutionGoal.class);    

    private WebAppContext getWebAppContext() throws IOException {    
        WebAppContext context = new WebAppContext();    
        System.out.println("context = " + context);    
        context.setResourceBase(new PathMatchingResourcePatternResolver().getResource("classpath:/webapp").getURL().toExternalForm());    
        context.setContextPath("/");    
        context.setLogger(new StdErrLog());    
        return context;    
    }    

    @Override    
    public void execute(Map<String, Object> stringObjectMap) throws ExecutionTargetFailureException {    
        logger.info("Instantiating target server ...");    
        final Server server = new Server(8089);    
        final ContextHandlerCollection handlerCollection = new ContextHandlerCollection();    
        try {    
            handlerCollection.setHandlers(new Handler[]{new …
Run Code Online (Sandbox Code Playgroud)

java web-applications jetty executable-jar embedded-jetty

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

如何在jar中打包opencv + java

我一直在使用Opencv 2.4.5和Java构建一个应用程序,现在想分发应用程序.使用以下内容加载库:

static{ 
        System.loadLibrary("opencv_java245"); 
    }
Run Code Online (Sandbox Code Playgroud)

哪个工作正常.但是,在导出时,从jar运行时它不起作用:

java -jar build1.jar 
Run Code Online (Sandbox Code Playgroud)

opencv_java245.jar文件作为用户库包含在内,并连接了一个本机文件(libopencv_java245.dylib).当运行从Eclipse生成的可执行jar时,我得到下面的UnsatisfiedLinkError,尽管在eclipse中编译/运行正常.

Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java245 in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
    at java.lang.Runtime.loadLibrary0(Runtime.java:845)
    at java.lang.System.loadLibrary(System.java:1084)
    at com.drawbridge.Main.<clinit>(Main.java:12)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:266)
    at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)
Run Code Online (Sandbox Code Playgroud)

有人知道在罐子里打包OpenCV的简单方法吗?

更新:我现在已经筋疲力尽了.我可以将库添加到我的构建路径(而不是使用System.loadLibrary),这可以在eclipse中使用,但不能在jar中打包.我已经尝试了一切.我还检查了我正在尝试加载的动态库的类型 - 它是

Mach-O 64-bit x86_64 dynamically linked shared library
Run Code Online (Sandbox Code Playgroud)

这似乎应该工作正常.我用-D64和-D32来测试并得到两者相同的结果.

java opencv packaging executable-jar

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

如何在java中运行撒克逊xslt转换

我可以轻松地在命令行中运行以下命令来转换 xml 文件:

java -jar saxon9he.jar -o:outputfile.xml data.xml transform.xslt
Run Code Online (Sandbox Code Playgroud)

我想从一个 java 文件中得到完全相同的结果,这样我就可以在我正在制作的程序的一部分中使用它。我已将 saxon9he.jar 放在构建路径中,但如何在命令行之外调用相同的命令?

java xml xslt saxon executable-jar

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