Tag: executable jar

使用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 […]

自动assemblySpring 3.2独立应用程序失败

这是我第一次在stackoverflow上找不到解决问题的方法: 我正在尝试创建一个带有基于注释的自动assembly的可执行jar独立应用程序,但我无法获得可运行的jar文件(从Eclipse导出为可运行的JAR文件)来完成它的工作。 它确实直接从Eclipse运行为Java应用程序,而不是通过控制台> java -jar test.jar作为独立应用程序运行。 Exception in thread “main” java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58) Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘handler’: Injection of autowired dependen cies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.example.serv ice.UserService com.example.controller.TestHandler.userService; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionEx ception: No […]

如何知道java中jar文件的目录?

我有一个可执行jar文件,我希望它能够读取和写入与.jar文件位于同一目录的txt文件的信息。 我怎样才能做到这一点? 如何获取可执行jar文件目录路径。 它只需要在Windows平台上运行,它就是桌面应用程序。

带有外部第三方jar的Eclipse插件

我有一个RCP应用程序,其中包括不同的插件。 在其中一个插件中,我正在使用外部第三方jar。 由于版权原因,我无法将该jar包装到我的产品中。 所以我尝试在运行时将jar包含为外部jar。 我所做的如下 在Plugin manifest.mf我有 Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: EaCom-plugin;singleton:=true Bundle-Version: 2.1.0 Require-Bundle: org.eclipse.core.runtime Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ClassPath: ., external:$eaapi_location$/eaapi.jar Bundle-NativeCode: external:$eaapi_location$/SSJavaCOM.dll Export-Package: org.sparx Bundle-Vendor: %pluginVendor 在运行时 – >导出的包下我添加了 org.sparx 在我的类路径下 external:$eaapi_location$/eaapi.jar build.properties source.. = src/main/java/,\ src/main/scala/,\ src/main/resources/,\ src/test/java/,\ src/test/scala/,\ src/test/resources/ output.. = bin/ bin.includes = META-INF/,\ 在build.properties中,我在第一行有一个警告。 警告是 source.external:缺少$ eaapi_location […]

如何将文件作为参数传递给使用JAR Bundler创建的Java应用程序?

我想将特定文件类型与我的应用程序相关联,因此当我双击此特定类型的文件之一时,我的应用程序将打开。 这很好用,但是我双击的文件不会作为参数传递给我的程序。 例如,如果我将我的应用程序与txt文件关联,我双击todo.txt ,我的应用程序打开,但我不知道我双击了哪个txt文件。 从我可以阅读的内容来看,它应该是如何在OS X上运行的,而不是依赖于默认行为(如何在Windows上运行),我应该使用ApplicationListener.handleOpenFile(); 来自com.apple.eawt 。 然而,当我尝试这样做时,我被告知我不允许这样做: 访问限制:由于对所需库的限制而无法访问ApplicationListener类型/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/ui.jar 在另一个问题中 ,一个人说他在一些中文网站上找到了解决方案,另一个人说根据Java的许可协议条款,这是不合法的。 我在Mac OS X开发人员库中找不到它,并且在这个网站上看起来有用的任何关于JAR Bundler的链接只是把我发送到Apple开发者网站上的一个死页 。 我错过了什么? 它应该几乎不可能做到这一点,即使它在其他操作系统上是微不足道的吗? 它可能值得一提……因为JAR文件无法与OS X上的程序相关联,所以我使用JAR Bundler创建了一个OS X Application Bundle ; Apple工具专门用于将Java应用程序视为本机OS X应用程序的目的。 使用它可以让我首先将文件类型与我的应用程序相关联。

如何使用Selenium / TestNG java文件中的IntelliJ制作可执行jar文件?

我已经谷歌搜索了几天试图弄清楚如何做到这一点,如果有人这样做,我会非常感谢帮助。 我有一个自动化测试项目,我在IntelliJ中创建,自动化用户与Web应用程序交互。 我想将自动化测试(使用Selenium和TestNG在Java中创建)放入可执行jar文件中,其他人可以通过双击jar文件来运行。 每次我尝试通过导航到项目结构 – >工件 – > + – >jar子 – >从具有依赖关系的模块创建一个jar文件时,它最终会创建一个声称它的jar, “Could not find or load the main class ” 当我尝试使用以下命令运行它时: java -jar MyProject.jar 知道为什么我不断得到这个错误,或者有办法成功地做到这一点? 另外,这是我的pom.xml: TestAutomation TestAutomation 1.0-SNAPSHOT org.apache.maven.plugins maven-assembly-plugin true com.test.automation.Executable jar-with-dependencies org.seleniumhq.selenium selenium-server 2.39.0 org.seleniumhq.selenium selenium-java 2.40.0 junit junit 4.11 test org.testng testng 6.1.1 test

如何在我自己的Project JAR中包含外部JAR

我有一个Java应用程序并创建了一个JAR文件并进行了部署。 该应用程序使用外部JAR,如Log4J JAR。 创建JAR文件时,如何将所有外部相关JAR包含到我的存档中? 为了让我的应用程序正常工作,我不得不将Log4J JAR复制到与我自己的JAR相同的目录中,这有点违背了jar的目的。 部署一个JAR文件不是更优雅吗?

bouncycastle错误“JCE无法使用jar-with-dependencies”对提供程序BC进行身份validation

我正在创建一个使用bouncycastle的java独立应用程序 。 一切都在日蚀中起作用。 我正在创建一个具有 这种 依赖关系的jar 。 当我使用“java -jar myapp-0.0.1-SNAPSHOT-jar-with-dependencies.jar”运行应用程序时。 我收到以下错误: java.io.IOException: exception encrypting data – java.lang.SecurityException: JCE cannot authenticate the provider BC 我的代码: Security.addProvider(new BouncyCastleProvider()); String keystoreDirectory = “C:/myapp/security”; File file = new File(keystoreDirectory + “/” + PRIVATE_KEY_FILE); if (!file.isFile()) { try { Configuration idOrganization = configurationBoundary.find(Configuration.ID_ORGANIZATION); KeyStore store = KeyStore.getInstance(“PKCS12”, SECURITY_PROVIDER); char[] password […]

包含一个Jar文件的属性文件

我写了一个小应用程序。 我已将数据库特定信息放在属性文件中。 db.url=jdbc:mysql://localhost:3306/librarydb db.user=root db.passwd=pas$w0rd 当我构建应用程序以获取可执行jar文件时,属性文件包含在其中。 将这些信息放在属性文件中的全部目的是允许用户更改这些信息,但这使得它变得不可能。 如何包含不包含jar文件的属性文件? 有点像你在.NET应用程序中使用AppSettings文件。 我是Java的新手,所以如果你能将它分解为一系列步骤我会很感激。 谢谢。 编辑: 这就是我从程序中的属性文件中获取值的方法。 public class DatabaseHandler { public static Connection connectToDb() { Connection con = null; Properties props = new Properties(); InputStream in = null; try { in = DatabaseHandler.class.getResourceAsStream(“database.properties”); props.load(in); in.close(); String url = props.getProperty(“db.url”); String user = props.getProperty(“db.user”); String password = props.getProperty(“db.passwd”); con […]

如何使用maven创建一个可运行的jar,其中包含一个单独的“lib”文件夹(不是超级jar)中的依赖项

我正在尝试使用Maven创建一个可执行jar文件,其中包含一个单独目录中的依赖项。 我已经看到很多关于创造“uberjar”的问题 – 我不希望如此。 我想要的是将依赖项复制到像这样的“lib”目录(以及带有指向它们的ClassPath条目的jar MANIFEST.MF文件): /myApp myApp.SNAPSHOT-1.0.jar /lib hibernate.jar log4j.jar … 如果我可以将/src/main/resources/*复制到/myApp/conf然后将整个/myApp目录压缩到myApp.zip ,那将是一个额外的好处。 编辑:我使用maven-dependency-plugin和maven-resources-plugin以及maven-jar-plugin。 这是我在我的pom.xml中包含的内容(它将运行时依赖项复制到/ target / release / lib,以便我可以压缩/目标/发布并准备好了): org.apache.maven.plugins maven-dependency-plugin copy-dependencies package copy-dependencies runtime ${project.build.directory}/release/lib org.apache.maven.plugins maven-resources-plugin copy-resources package copy-resources ${project.build.directory}/release src/main/config true org.apache.maven.plugins maven-jar-plugin package jar ${project.build.directory}/release/lib