我正在尝试使用 Eclipse 的导出功能构建一个可运行的 JAR。除了根目录下的几个 .properties 文件之外,一切正常。
我将所有 .properties 文件添加到构建路径中,它们出现在 Java 构建路径对话框中的“Order and Export”选项卡下。
但是,当我尝试运行导出时,出现以下错误:
无法读取 JAR 文件“log4j.properties”。原因: 打开 zip 文件时出错 打开 zip 文件时出错 打开 zip 文件时出错
Runnable JAR 文件实际上已创建,但其中没有 .properties 文件。为什么它尝试将 .properties 文件导出为 ZIP 文件?如何进行这项工作?
Eclipse 构建 ID:20090621-0832
我正在尝试获取位于 java jar 之外的文件的路径,但我不想使用绝对路径。一个例子:假设 jar 位于 ~/lib/myjar.jar 并且该文件位于同一文件夹中。我尝试的是这样的,但失败了:
File myfile = new File(this.getClass().getResource("../../../").toURI());
Run Code Online (Sandbox Code Playgroud)
注意:我的包是 com.contro.gui,这就是为什么我有“../../../”,以便访问“root”
我不确定如何访问该文件。有什么建议吗??如果我要访问的文件位于 ~/res/ 这样的其他文件夹中怎么办?
我正在尝试从运行时添加的 Jar 文件加载资源,但没有走得太远。
这是我的代码(常规):
URL url = new URL("jar:file:/out/resource.jar!/test.resource")
def urlList = [] << url
URL[] urls = urlList.toArray()
URLClassLoader classLoader = new URLClassLoader(urls, this.class.getClassLoader())
InputStream stream = url.openStream()
Run Code Online (Sandbox Code Playgroud)
我收到此错误: java.util.zip.ZipException: error in opening zip file at java.util.zip.ZipFile.open(Native Method)
问题:
1)我需要在我的网址中添加“test.resource”吗?2)我的URLClassLoader和我当前类的类加载器之间有什么关系?3)流式传输此资源的正确方法是什么(显然我所拥有的不起作用)?
谢谢
我正在和leiningen一起学习clojure。我编写了一个简单的代码来测试lein & java -jar命令。这是我的project.clj文件:
$ cat project.clj
(defproject hello "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.8.0"]]
:main ^:skip-aot hello.core
:target-path "target/%s"
:profiles {:uberjar {:aot :all}})
Run Code Online (Sandbox Code Playgroud)
这是我的源代码:
$ cat src/hello/core.clj
(ns hello.core
(:gen-class))
(defn -main
[& args]
(print "Hello, World!"))
Run Code Online (Sandbox Code Playgroud)
当我使用lein运行此代码时,它工作正常。它显示在这里
$ lein run
Hello, World!$
Run Code Online (Sandbox Code Playgroud)
当我尝试运行java -jar 时,它没有用
$ lein uberjar
Compiling hello.core
Created /home/rishi/hello/target/uberjar/hello-0.1.0-SNAPSHOT.jar
Created /home/rishi/hello/target/uberjar/hello-0.1.0-SNAPSHOT-standalone.jar
$ …Run Code Online (Sandbox Code Playgroud) 从Spark 下载页面,如果我下载v2.0.1的tar 文件,我会看到它包含一些我认为包含在我的应用程序中有用的 jar。
如果我下载v1.6.2的tar 文件,我在那里找不到 jars 文件夹。是否有我应该从该站点使用的替代包装类型?我目前正在选择默认值(为 Hadoop 2.6 预构建)。或者,我在哪里可以找到那些 Spark 罐子 - 我应该从http://spark-packages.org单独获取每个罐子吗?
这是我想使用的一组指示性罐子:
我定期使用 Telosys Eclipse 插件从 PostgreSQL 数据库构建的“dbmodel”生成我的 Java 代码。在带有 Java 项目的 Eclipse 中,JDBC 驱动程序已经在 Java 构建路径中,因此创建“dbmodel”非常容易。
现在我正在尝试使用 Telosys CLI(而不是 Eclipse 插件)为 NodeJS 生成 JavaScript 代码。我想从另一个 PostgreSQL 数据库创建一个新的“dbmodel”,问题是:使用 Telosys CLI 如何指定必须用于创建这个新“dbmodel”的 JDBC 驱动程序(jar 文件)?
我有一个 springboot 应用程序,当我在 intellij 中运行时它不能与 JSP 一起工作,但是当制作 JAR 时它不起作用。它给出了这个错误。
白标错误页面 此应用程序没有明确的 /error 映射,因此您将其视为后备。
Mon May 21 00:23:11 IST 2018 出现意外错误(类型=未找到,状态=404)。没有可用的消息
JSP 文件存在于 src/main/resources/META-INF/resources/WEB-INF/jsp 中。
和 application.properties 文件包含。
spring.view.prefix: /WEB-INF/jsp/
spring.view.suffix: .jsp
Run Code Online (Sandbox Code Playgroud) 如何在 jar 文件中添加清单文件?
plugins {
id 'java'
id 'application'
}
application {
mainClassName = 'com.Main'
}
jar {
from "MANIFEST.MF"
}
sourceCompatibility = 11
Run Code Online (Sandbox Code Playgroud)
当我尝试执行 jar 时,我得到以下信息:
% java -jar tmpApp.jar
没有主清单属性,在 tmpApp.jar
我正在努力使 RJava 在我的 Java 程序中工作,因为它似乎依赖于整个 R 目录树才能工作。这个目录树在系统中被命名为 $R_HOME ,通过配置项目的环境变量,它指向/usr/lib64/R.
当我在我的 IDE (IntelliJ IDEA) 上运行我的应用程序时,这可以正常工作,但是每当我尝试将我的代码打包到 JAR 中并使用 运行它时java -jar xxx.jar,它会抛出以下错误:
R_HOME is not set. Please set all required environment variables before running this program.
Unable to start R
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f847c3a470c, pid=4232, tid=4233
#
# JRE version: OpenJDK Runtime Environment (10.0.2+13) (build 10.0.2+13)
# Java VM: OpenJDK 64-Bit Server VM (10.0.2+13, …Run Code Online (Sandbox Code Playgroud) 有没有办法排除测试目标期间使用的依赖项?例如,我想避免将所有*:testsjar 打印出来mvn dependency:tree。
[INFO] Building test 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ test ---
[INFO] com.test.test:jar:1.0-SNAPSHOT
[INFO] +- junit:junit:jar:4.13:test
[INFO] | \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- org.specs2:specs2-core_2.13:jar:4.8.3:test
[INFO] | +- org.specs2:specs2-matcher_2.13:jar:4.8.3:test
[INFO] | +- org.specs2:specs2-common_2.13:jar:4.8.3:test
[INFO] | | +- org.specs2:specs2-fp_2.13:jar:4.8.3:test
[INFO] | | \- org.scala-lang.modules:scala-parser-combinators_2.13:jar:1.1.2:compile
[INFO] | \- org.scala-sbt:test-interface:jar:1.0:test
[INFO] +- org.scalatest:scalatest_2.13:jar:3.1.0:test
[INFO] | +- org.scalactic:scalactic_2.13:jar:3.1.0:test
[INFO] | +- org.scala-lang:scala-reflect:jar:2.13.1:test
[INFO] \- com.fasterxml.jackson.core:jackson-databind:jar:2.10.2:compile
Run Code Online (Sandbox Code Playgroud)
许多 jar 在编译阶段使用,而其他在测试阶段使用。我正在寻找:
mvn dependency:tree -Dexcludes=org.apache.maven*
Run Code Online (Sandbox Code Playgroud)
所以我想知道是否可以*tests通过命令行直接排除所有。