相关疑难解决方法(0)

如何正确构建IntelliJ的罐子?

我有一个包含单个模块和一些依赖项的项目.我想在一个单独的目录中创建一个包含已编译模块的jar.另外,我希望我的模块旁边有依赖项.

无论我如何扭曲IntelliJ的"构建jar"进程,我模块的输出都显示为空(除了META-INF文件).

java build-process jar intellij-idea

483
推荐指数
7
解决办法
54万
查看次数

如何运行由包生成的jar(可能与lib下的其他jar)?

如何运行.jar由sbt生成的文件package

我用一个.scala源创建了一个非常简单的例子:

package org.pack {
    class ScalaParser(files: Array[String]) {
        def doAll() = {
            println("hello")
        }
    }

    object Main {
        def main(args: Array[String]): Unit = {
            val sp = new ScalaParser(args)
            sp.doAll()
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

跑完之后

$ sbt
> compile
> package
Run Code Online (Sandbox Code Playgroud)

.jar创建于/target/scala-<version>.如果我尝试运行它,它将无法给出此错误:

$ java -jar package_2.9.2-0.1.jar 
Exception in thread "main" java.lang.NoClassDefFoundError: scala/ScalaObject
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at …
Run Code Online (Sandbox Code Playgroud)

sbt

19
推荐指数
3
解决办法
9877
查看次数

Java 9中的类加载器层次结构

从Java-8开始,我知道类加载器的层次结构如下: -

Bootstrap类加载器 - >扩展类加载器 - >应用程序类加载器

Java 9中类加载器层次结构的变化是什么?它是如何工作的?

java classloader java-9 java-module

13
推荐指数
2
解决办法
4033
查看次数

"java.lang.SecurityException:禁止的包名:java.sql"错误仅在Eclipse外部执行时发生

我正在使用Apache Tika编写一个主题建模程序,以从其他文件类型中提取文本内容.实际上它在Eclipse上完美运行.但是当我从Window 10的命令提示符导出到JAR文件时使用.当它尝试代码时出现此错误消息:"parser.parse(stream,handler,metadata,parseContext);"

"java.lang.SecurityException:禁止包名:java.sql"

我没有在这里上传我的java代码,因为我不认为它们是问题的根源.因为它在Eclipse IDE中完美运行.所以有人知道为什么它只会在我尝试从命令行运行时发生.Eclipse IDE内部和外部的JVM有什么不同?谢谢.

        package Views;

import java.io.*;
import org.apache.commons.io.FileUtils;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.sax.BodyContentHandler;

public class TestTika {

    public static void main(String[] args) throws IOException {
        String inputFolderName = "data";
        String outputFolderName = "data_text";
        System.out.println("Extracting text data from '" + inputFolderName + "' to '" + outputFolderName + "'");

        FileUtils.deleteDirectory(new File(outputFolderName)); // Delete the old file in this directory
        System.out.println("Delete all of the old files in directory'" + outputFolderName + "' successfully \n"); …
Run Code Online (Sandbox Code Playgroud)

java eclipse apache-tika

3
推荐指数
1
解决办法
2592
查看次数