Tag: jar

引起:java.lang.ClassNotFoundException:org.slf4j.LoggerFactory

java和slf4j的一些问题使用想法制作项目并且没关系。 但是如果我尝试用gradle制作jar,我会遇到一些问题。 的build.gradle group ‘test.test’ version ‘1.0-SNAPSHOT’ apply plugin: ‘java’ sourceCompatibility = 1.8 repositories { mavenCentral() } dependencies { testCompile group: ‘junit’, name: ‘junit’, version: ‘4.11’ compile ‘org.slf4j:slf4j-api:1.7.20’ compile ‘ch.qos.logback:logback-classic:1.1.7’ } jar { manifest { attributes ‘Main-Class’: ‘Test’ } } Test.java import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class Test { private static final Logger LOGGER = […]

使用maven-assembly-plugin包含所需的驱动程序时找不到合适的驱动程序

可能重复: java错误(找不到合适的驱动程序) 我有一个非常小的可以使用PostgreSQL DB,将它用作单个jar非常方便。 所以我确实尝试过像这样使用maven-assembly-plugin: maven-assembly-plugin 2.3 pack.name.MainClass jar-with-dependencies 它工作得很好,我可以看到我需要添加到jar文件的所有文件,包括驱动程序的文件,但是当我尝试运行它时,我得到一个: java.sql.SQLException: No suitable driver found for jdbc:postgresql://:5432/dbname 我有这个: com.oracle ojdbc6 11.2.0.3 postgresql postgresql 9.1-901-1.jdbc4 在依赖关系中,URL与我上面写的完全一样(除了审查地址:))。 我错过了什么? 谢谢!

使用maven为SWT应用程序构建多平台可执行文件

我的问题是:如何使用maven根据目标操作系统/体系结构为SWT应用程序生成多个可执行Jar文件(包括依赖项)? 我创建了一个SWT应用程序,它必须在不同的操作系统和体系结构上运行。 该项目是一个Maven多模块项目,包括父POM。 project-pom.xml(packaging = pom,指定SWT依赖项)` – application-module(inheritanceSWT依赖项)` – pom.xml(packaging = jar)` – domain-specific-module` – pom.xml(packaging = jar )` – utils-module(inheritanceSWT依赖项)` – pom.xml(packaging = jar) 在父POM( project-pom.xml )中,我根据我的操作系统和架构使用maven配置文件包含了SWT依赖项,工作正常: org.eclipse.swt ${swt.artifactId} 4.3 EclipseSwtRepository https://swt-repo.googlecode.com/svn/repo/ unix-amd64 unix amd64 org.eclipse.swt.gtk.linux.x86_64 windows-x86 windows x86 org.eclipse.swt.win32.win32.x86 windows-x86_64 windows x86_64 org.eclipse.swt.win32.win32.x86_64 现在maven选择正确的SWT依赖关系,例如用于编译应用程序。 我使用maven命令mvn help:active-profiles检查了活动配置mvn help:active-profiles 。 现在我想为目标平台linux_x86_64 / amd64,windows_x86和windows_x86_64生成可执行文件Jars。 在第一步中,我使用maven-jar-plugin生成Jar和清单文件( application-module/pom.xml […]

为什么我的Runnable Jar文件不起作用

我关注了大约10个不同的教程,但似乎没有一个教程,我的runnable jar文件无法正常工作。 当我在eclipse中运行它时,我的游戏运行正常 ,并且我能够将它变成一个可运行的jar文件,该文件仅在一两天前工作并且没有更改过多的代码。 当我尝试运行.jar时,屏幕底部会弹出一个java图标但是没有任何反应。 这是我的发射器无法打开(如果我没有启动器运行它工作正常),没有错误,我打开终端或日食。 package com.l3g3nds.threed; import java.awt.Color; import java.awt.Dimension; import java.awt.Rectangle; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import java.io.File; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingUtilities; import javax.swing.UIManager; public class Launcher extends JFrame implements MouseListener, MouseMotionListener { private static final long […]

如何将多个jar子组合成一个?

我已经阅读了很多这方面的文章/解释,花了太多时间,但一切都过于宽泛或具体。 这个问题实际上只适用于我制作的Applet。 它包含一个Class,并且需要2个其他Jar库。 我已将这些包含在项目中(多个项目,因为我在Netbeans和Eclipse中尝试过这个…很容易重新创建一个Class项目)。 所有这一切的要点是我的HTML / web项目不应该处理多个Jar或引用它们。 它根本不是一个复杂的applet /项目。 最初,我是用Netbeans制作的。 它有主包,在添加2个Jars之后,它们被放在“Libraries”区域(“resources”文件夹)中。 在构建它之后,Netbeans为我的一个包/类创建一个Jar,然后将另外两个库放在它旁边的“lib”目录中。 我希望他们在一个可分发的jar子里。 从我浏览过的很多内容中,我尝试将以下内容放在build.xml中: 但它什么都没产生。 我从NetBeans获得了这个- 在一个jar中部署所有内容 。 我不知道/了解如何使用build.xml,所以如果出现问题(显然)我不会感到惊讶,但我没有收到任何错误/警告消息。 当我在Eclipse中创建它时,它有效地组合了它们,但是当我在实际的Web项目中使用Jar时,它说它无法从其他2个Jars中找到类。 我不明白如何解决它,但它是一个Classpath问题? 在Eclipse中,我创建一个名为“lib”的新目录并将Jars放入其中。 然后,我右键单击该项目,转到“Java Build Path”,然后添加Jars,同时在“Order and Export”选项卡下检查它们。 从我读过的东西,我右键单击项目,选择“导出”,选择“Jar”,取消选中“.classpath”和“.project”文件,只检查“导出生成的类文件和资源”,然后允许它生成清单文件。 就像我说的,这会生成一个Jar,但它的内容是我的包,然后是一个“lib”目录,其中包含另外两个Jars。 Manifest就在那里,但它很空,并没有引用任何文件(不确定这是否重要)。 当我把它放在我的网络应用程序中时,它说applet无法找到其他类。 它看起来很简单 – 一个包/类,两个外部Jars ……在构建为applet时可以组合成一个Jar。 有任何想法吗? 更新: 自从我们开始使用Maven以来,有人开始使用Maven插件。 所以我们最终创建了一个新项目来容纳applet(因为它用于多个项目),并在我们的pom.xml使用它,最后: ${basedir}/applet codesignstore ${basedir}/src/main/resources true maven-assembly-plugin 2.2-beta-5 jar-with-dependencies cxapplet true true false make-my-applet-jar package single org.apache.maven.plugins maven-jarsigner-plugin […]

获取.jar中的目录

我试图访问我的jar文件中的目录。 我想浏览目录中的每个文件。 我试过,例如,使用以下内容: URL imagesDirectoryURL=getClass().getClassLoader().getResource(“Images”); if(imagesFolderURL!=null) { File imagesDirectory= new File(imagesDirectoryURL.getFile()); } 如果我测试这个applet,它运行良好。 但是,一旦我把内容放入jar子里,它就不会因为几个原因了。 如果我使用此代码,则URL始终指向jar外部,因此我必须将Images目录放在那里。 但是如果我使用new File(imagesDirectoryURL.toURI()); ,它在jar内部不起作用,因为我得到的错误URI not hierarchical 。 我确定该目录存在于jar中。 我怎么能在jar里面获取Images的内容?

我可以使用类路径覆盖正在运行的jar中的文件吗?

我有一个JAR文件,其中包含应用程序以及该应用程序的配置文件。 应用程序从类路径加载配置文件(使用ClassLoader.getResource() ),并使用烘焙到JAR文件中的配置文件完全满足其依赖关系。 有时我希望应用程序以稍微不同的配置运行(特别是我想覆盖JDBC URL以指向不同的数据库)所以我创建了一个新的配置文件,将其存储在正确的目录结构中(这意味着在classpath条目的目录/config ),我想做这样的事情: java -cp new-config:. -jar application.jar 但我无法让类路径在应用程序JAR的内容之前获得new-config路径条目。 是否硬编码JAR的内容始终是类路径中的第一件事?

如何从Eclipse导出Java jar并依赖于其他jar?

我试图从Eclipse项目创建一个自包含的.jar文件。 通过“自包含”,我的意思是该项目的所有依赖项(即其他jar)应该包含在生成的jar中。 我想在另一个项目中使用导出的jar作为库。 问题是我从依赖项中获取了一个类的NoClassDefFoundError。 我已经尝试导出一个包含所有依赖项的runnable jar和一个“普通”jar。 这些都不奏效。 清单看起来像这样: Manifest-Version: 1.0 Main-Class: com.path.to.MyMainClass Class-Path: lib/resolver.jar lib/xercesImpl.jar lib/xml-apis.jar lib/Mac-Cocoa64/swt.jar .classpath看起来像这样: 缺少的类def来自SWT.jar文件。 知道什么可能是错的或我需要采取什么步骤才能成功导出这个jar,以便它可以包含在其他地方? 干杯, 马丁

你如何使用python在jar文件中调用python脚本?

我正在开发一个散布一堆jython和java代码的应用程序。 由于程序的性质(使用wsadmin),我们实际上仅限于Python 2.1 我们目前有一个包含java源代码和.py模块的jar。 目前使用java调用代码,但我想删除它,以便尽可能多地将function迁移到jython。 我遇到的问题是我想从调用jython脚本导入或执行现有jar文件中的python模块。 我尝试了几种不同的方法但没有成功。 我的目录结构如下: application.jar |– com |–example |– action |– MyAction.class |– pre_myAction.py 我尝试的第一种方法是从jar子里import。 我将jar添加到我的sys.path并尝试使用import com.example.action.myAction 导入模块并导入myAction 。 但是,即使我将init .py文件放入每个级别的目录中也没有成功。 我尝试的第二种方法是使用java类加载资源。 所以我写了下面的代码: import sys import os import com.example.action.MyAction as MyAction scriptName = str(MyAction.getResource(‘/com/example/action/myAction.py’)) scriptStr = MyAction.getResourceAsStream(‘/com/example/action/myAction.py’) try: print execfile(scriptStr) except: print “failed 1” try: print execfile(scriptName) except: print “failed 2” […]

通过Java发送电子邮件 – javax.mail.MessagingException:无法连接到SMTP主机:localhost,port:587;

我目前正在开发一个涉及创建.jar文件的项目。 以下是要实现的,我应该导出/读取朋友注册表的路径,一旦完成,我应该通过电子邮件返回结果。 整个概念是创建jar文件,一旦点击它,我通过我的电子邮件获得结果,因为我实际上是通过电子邮件发送的。 (我希望这是有道理的) 首先,我结合以下代码实际读取注册表并显示键(我从读取/写入注册表的堆栈溢出的流行post得到它)所以读取过程工作正常,现在我的问题是与电邮代码, (我不太确定这个代码的原始所有者是谁,但完全归功于他)我试图让这个电子邮件代码的基本概念起作用,这样我就可以继续将我的jar文件发送为附件并以用户点击jar文件的方式将其链接到我的代码,注册表结果将通过电子邮件发送给我。 import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class MailCode { public static void main(String[] args) throws Exception { final String smtp_host = “smtp.gmail.com”; final String smtp_username = “user@gmail.com”; final String smtp_password = “password”; final String smtp_connection = […]