我完成了连接数据库(MySQL)的项目.现在我想将项目导出为jar.但我不知道如何包含其外部依赖项?有没有办法在Eclipse中执行它,或者我应该使用任何脚本吗?
我以这种方式创建了一个JAR文件jar cf jar-file input-files.现在,我正试图运行它.运行它不起作用(找不到jre命令):
jre -cp app.jar MainClass
Run Code Online (Sandbox Code Playgroud)
这也不起作用:
java -jar main.jar
Run Code Online (Sandbox Code Playgroud)
(无法从main.jar加载Main-Class清单属性).
我也发现了这一点
运行打包为JAR文件的应用程序(版本1.2 - 需要Main-Class清单标头)
什么是"Main-Class清单标题"?我该如何创建它以及在哪里放置它?
昨天,我的应用程序工作正常.
今天,我不知道为什么,在重新打开Android Studio后,应用程序不再编译了.
显示的错误是
Program type already present: com.google.android.gms.internal.measurement.zzwp
Message{kind=ERROR, text=Program type already present: com.google.android.gms.internal.measurement.zzwp, sources=[Unknown source file], tool name=Optional.of(D8)}
Run Code Online (Sandbox Code Playgroud)
我真的不知道发生了什么,我搜索了一切,没有任何效果.如果有人可以帮助我,我真的很感激.我更改了所有依赖项和库以尝试解决它,但没有任何效果.
这是build.gradle项目
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.1'
classpath 'com.google.gms:google-services:3.2.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
maven { url 'https://jitpack.io' }
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud)
这是我的build.gradle模块:app
apply plugin: 'com.android.application'
android …Run Code Online (Sandbox Code Playgroud) 导出为JAR文件和导出为Runnable JAR文件之间的eclipse有什么区别?他们都不是可以运行的吗?每个的优点/缺点是什么?
我想实现一个java应用程序(服务器应用程序),它可以从给定的URL下载新版本(.jar文件),然后在运行时更新自己.
这样做的最佳方式是什么?是否可能?
我猜应用程序可以下载一个新的.jar文件并启动它.但是我应该如何进行切换,例如知道新应用程序何时启动然后退出.或者有更好的方法吗?
所有
我在里面创建了一个包含以下MANIFEST.MF的jar文件:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.3
Created-By: 1.6.0_25-b06 (Sun Microsystems Inc.)
Main-Class: my.Main
Class-Path: . lib/spring-core-3.2.0.M2.jar lib/spring-beans-3.2.0.M2.jar
Run Code Online (Sandbox Code Playgroud)
在它的根目录中有一个名为my.config的文件,它在我的spring-context.xml中引用,如下所示:
<bean id="..." class="...">
<property name="resource" value="classpath:my.config" />
</bean>
Run Code Online (Sandbox Code Playgroud)
如果我运行jar,除了加载特定文件外,一切看起来都很好:
Caused by: java.io.FileNotFoundException: class path resource [my.config] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/D:/work/my.jar!/my.config
at org.springframework.util.ResourceUtils.getFile(ResourceUtils.java:205)
at org.springframework.core.io.AbstractFileResolvingResource.getFile(AbstractFileResolvingResource.java:52)
at eu.stepman.server.configuration.BeanConfigurationFactoryBean.getObject(BeanConfigurationFactoryBean.java:32)
at eu.stepman.server.configuration.BeanConfigurationFactoryBean.getObject(BeanConfigurationFactoryBean.java:1)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:142)
... 22 more
Run Code Online (Sandbox Code Playgroud)
有小费吗?
当我将鼠标悬停在一个类上时,我想在eclipse中显示包含在jar文件中的javadoc注释.
例如,下载JODA-2.0后,获得三个罐子:
在eclipse中,[右键单击项目 - >属性 - > Java构建路径 - >库 - > ADD JAR ...]包含项目中的二进制文件(可以引用这些类),用于joda-time-2.0.jar.
但是如何链接其他两个jar文件中包含的sources/javadoc注释,以便当我将鼠标悬停在这些类上时,我会看到javadocs?
将其他两个jar(joda-time-2.0-javadoc.jar和joda-time-2.0-sources.jar)添加到构建路径不会链接javadoc或源.
我想修改jar里面的文件.是否有可能在我的应用程序中不提取和重新震动的情况下执行此操作?
我想修改的文件是配置文件,主要是基于xml的.
我不感兴趣的原因是应用程序用launch4j包装,如果我解开它我不能再次创建.exe文件.
我需要使用bash从"some.jar"读取MANIFEST.MF maven清单文件
我创建了一个包含所有编译内容的jar文件.另外,我的ant构建脚本将所需的lib复制到子文件夹"libs"中.结构如下所示:
MyProgram.jar
libs/
Run Code Online (Sandbox Code Playgroud)
因此,当我尝试运行我的程序时,我收到以下错误:
java -cp ".:/home/user/java/MyProgram/jar/libs" -jar MyProgram.jar
java.lang.ClassNotFoundException: org.postgresql.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at database.PostgresQL.getConnection(PostgresQL.java:38)
at recommender.dao.Creative2IdxDAO.createCreatives2Idx(Creative2IdxDAO.java:19)
at main.Main.calculateCorrelationMatrix(Main.java:51)
at main.Main.main(Main.java:28)
java.lang.NullPointerException
at recommender.dao.Creative2IdxDAO.createCreatives2Idx(Creative2IdxDAO.java:25)
at main.Main.calculateCorrelationMatrix(Main.java:51)
at main.Main.main(Main.java:28)
Run Code Online (Sandbox Code Playgroud)
为什么会这样?