草庐IT

multi-release-jar

全部标签

java - 公开类,但对 JAR 文件保持私有(private)

有没有办法使Java类公开但仅对JAR文件公开?也就是,它不是私有(private)包,而是公共(public)包,但不是JAR公共(public)包?假设我有这样的结构:project/package1/One.javapackage2/Two.javapackage3/Three.java由于3个.java文件位于不同的包中,因此我需要将其公开。但是有没有办法让它们只对包含该项目的JAR公开?这样如果另一个项目导入JAR,它就看不到某些公共(public)类/字段? 最佳答案 使用项目Jigsaw在Java9中,您可以完全做到这

java - 当我运行 .jar 时,出现 "No lwjgl in java.library.path"错误

我正在通过Netbeans使用LWJGL库用Java制作一个基本游戏。我已经使用lwjgl、lwjgl_util和jinput.jar创建了一个库,并将-Djava.library.path=C:\LWJGL\native\windows添加到项目属性的“运行”类别中。当我在Netbeans中运行该文件时,它运行完美,没有任何问题。但是,当我通过双击文件运行.jar时,没有弹出任何内容(据我所知,甚至没有弹出cmd错误窗口)。当我通过命令行运行文件时,我得到:C:\Users\200160765>java-jar"C:\Users\200160765\Documents\NetBean

java - 如何在我们的 java jar 中插入用户可以访问的版本号?

我们有一个库,每两周发布一次不同的版本号。问题是为了在我们的jar中存储版本号,我们有一个version.txt文件,它只包含版本号,然后被包含到构建中。这似乎是错误的方法,但我想不出更好的解决方案。有什么更好的方法可以将版本号存储在我们的jar中,以便如果用户调用我,我可以轻松找到他们正在使用的我们产品的版本? 最佳答案 首先——确保您的程序或工具可以显示版本号。但它从何而来?我们将其包含在构建中。只要确保它在运行时在某个地方可见即可!如果没有可运行的东西,添加一个Main,并使其成为Main-Class,它只打印版本。然后你可以

java - 添加 Jar 文件到 WEB-INF/lib

我是Eclipse、Java和Linux的新手。我搜索了这个问题,但没有找到答案。我想编写一个操作HBase表的程序。所以我有一些与HBase相关的Jar文件。在普通的Java应用程序中,我通过以下指令添加Jar文件构建路径->配置构建路径->添加外部Jar所以在DynamicWebProject中听起来很不一样。经过一番搜索后,我了解到Jar文件必须添加到WEB-INF/lib或%TOMCAT_HOME%/lib中。所以我从%TOMCAT_HOME%/lib得到了答案,但我真的坚持如何在WEB-INF/lib中添加jar文件。我复制文件夹中的所有jar文件,但它不起作用。请详细帮助我

java - 通过双击在命令提示符下运行 .jar 文件

我先说我在Windows7上。我创建了一个.jar文件,它可以使用-java-jarmyJar.jar方法从命令行正常执行但我想要的是能够双击jar文件并打开命令提示符窗口并在命令提示符中运行,就好像我刚刚键入了java-jarmyJar.jar行。当我双击jar文件时,我确实认为它正在运行,因为出现了java的可视部分,但是没有命令提示符窗口显示我的控制台输出。环顾四周后,我发现有人说与jar文件相关联的javaw没有控制台,我需要将jar文件与java.exe而不是javaw.exe相关联。我已经试过了,但似乎没有用。有人可以帮忙吗?一步一步就好了。 最

java - 在 IntelliJ IDEA 中将外部库添加到 Artifact jar

如何将外部库添加到IntelliJIDEA中的项目,以便在构建Artifact时它仍然可以访问库中的类?我从ProjectStructure创建了一个新的JarArtifact,然后将外部JAR添加到库中,然后在模块列表中检查它,最后将它添加到Artifact的输出中。这些都不起作用。当我构建并尝试运行我的应用程序时,它抛出一个错误:Exceptioninthread"main"java.lang.NoClassDefFoundError:我错过了什么,还是我做的完全错了? 最佳答案 这里有2个选项:将依赖项提取到Artifactj

java - Gradle Output Jar 没有 Main-Class

我有以下简单的build.gradle文件:applyplugin:'application'applyplugin:'java'mainClassName='com.kurtis.HelloGradle'下面的单个java文件位于src/main/java/com/kurtis/HelloGradle.java:packagecom.kurtis;publicclassHelloGradle{publicstaticvoidmain(String[]args){System.out.println("Hellogradle");}}但是,如果我运行gradlebuild,我会在bui

java - SpringBoot完全可执行的jar,内部没有依赖

注意:请在将此问题标记为重复之前确保您知道可执行JAR和fullyexecutableSpringBootJAR之间的区别.TheofficialSpringBootdocumentation描述了如何构建完全可执行的JAR。然后生成的JAR文件可以从/etc/init.d/链接并作为普通的unix服务启动/停止/重新启动/状态,无需额外的脚本或工具,如JSVC。但生成的JAR包含所有库,并且大小足够大(在我的例子中为70Mb+)。我想生成这种没有库的完全可执行JAR,然后能够在Linux上将其作为SystemV服务运行并以某种方式链接外部库(JAR)。更新我想减小Artifact大小

java - 将源代码隐藏在 .jar 文件中

可以轻松提取.jar文件并查看源代码。我想保护源代码不被看到。一种可能的答案是像我们对zip文件所做的那样使用密码保护文件。但是,如果知道密码,则可以轻松查看源代码。有什么方法可以隐藏源代码并且仍然可以运行吗?类似于.exe在Windows中的作用。这应该在Windows和Linux环境中运行。 最佳答案 看看ProGuard,它是一个流行的java混淆器。至于将您的java程序打包为windows可执行文件,这篇文章可能会对您有所帮助:HowcanIconvertmyJavaprogramtoan.exefile?

java - 如何读取 JAR 中的文本文件?

这个问题在这里已经有了答案:JavaresourceasFile(6个答案)关闭9年前。我试图做的是在程序的JAR中存储一个文本文件(不会更改),以便可以读取它。文本文件的用途是它会被我的一个类读入,文本文件的内容将被添加到JEditorPane。该文件基本上是一个教程,当用户点击阅读教程的选项时,文件内容将被读取并显示在弹出的新窗口中。我有它的GUI部分,但就将文件存储在JAR中以便访问它而言,我不知所措。我读到过使用InputStream会起作用,但在尝试了一些方法之后我还没有让它起作用。我还将图像存储在JAR中,用作GUI窗口的图标。这是通过以下方式实现的:privateImag