有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

GitHub中支持Maven的Java项目未在mscode中生成

第一次反馈后更新。非常感谢你。我确实读了What does “Could not find or load main class” mean? Post和参考的文件。我现在知道两者的区别了。类和Jar文件。我真的很需要它,并且想知道为什么这不是任何Java课程都会涉及的第一件事。Steve的帖子太棒了,在成功执行该文件后,我想知道我们如何在此基础上进行构建。我不确定史蒂夫是否会看到这些内容,但我想我会尝试,因为这将建立在他的尝试之上,这对我帮助很大。我认为Steve的帖子缺少的是一个普通的项目,它可以提供一个更清晰的基线,因为每个帖子都是从他们自己创建上下文的尝试开始的。我想我会尝试测试和学习不同的相对路径如何影响Java的类路径思想。鉴于这个项目是一个公共项目,人们可以下载并作为基线使用。同时,如果能对我的发现进行验证和/或纠正,那将是一件好事。 Steve的帖子缺少的另一项内容是使用正斜杠和反斜杠,有时不得不将它们组合起来编译和执行代码。以下是我的发现: 1-我需要安装Maven。令我惊讶的是,为我的IDE安装Maven插件并不意味着我拥有Maven。我确信它连接了很多非常复杂的目录,但是如果能在某个地方得到通知,你需要安装Maven,那就太好了

2-这起了作用: 以下是如何在此项目中运行已编译源文件的示例:

C:\Users\usr\source\Java>java -cp c:/Users/usr/source/Java/algs4/target/algs4-1.0.0.0.jar  edu.princeton.cs.algs4.BinarySearch c:/Users/usr/source/Java/algs4/target/tinyW.txt < c:/Users/usr/source/Java/algs4/target/tinyT.txt
50
99
13

3-Steve提到了允许使用斜杠而不是“.”。我不知道这是在哪里,如何;我试着用“.”失败了

4-这起作用了

C:\Users\usr\source\Java>java -cp algs4/target/algs4-1.0.0.0.jar  edu.princeton.cs.algs4.BinarySearch c:/Users/usr/source/Java/algs4/target/tinyW.txt < c:/Users/usr/source/Java/algs4/target/tinyT.txt
50
99
13

但是这一个没有,正如预期的那样,(我从目录路径中删除了alg4)。我想知道是否可以安全地假设目录名和源文件之间存在重叠?那是某种关键的东西吗

C:\Users\usr\source\Java>java -cp /target/algs4-1.0.0.0.jar  edu.princeton.cs.algs4.BinarySearch c:/Users/usr/source/Java/algs4/target/tinyW.txt < c:/Users/usr/source/Java/algs4/target/tinyT.txt
Error: Could not find or load main class edu.princeton.cs.algs4.BinarySearch

5-当涉及到输入参数时,我想这些参数被认为是依赖项,不太方便,我可以删除磁盘名,因为C:\被认为是默认的,但似乎就是这样

C:\Users\usr\source\Java>java -cp algs4/target/algs4-1.0.0.0.jar  edu.princeton.cs.algs4.BinarySearch c:/Users/usr/source/Java/algs4/target/tinyW.txt < /Users/usr/source/Java/algs4/target/tinyT.txt
50
99
13

C:\Users\usr\source\Java>java -cp algs4/target/algs4-1.0.0.0.jar  edu.princeton.cs.algs4.BinarySearch c:/Users/usr/source/Java/algs4/target/tinyW.txt < Users/usr/source/Java/algs4/target/tinyT.txt
The system cannot find the path specified.

C:\Users\usr\source\Java>java -cp algs4/target/algs4-1.0.0.0.jar  edu.princeton.cs.algs4.BinarySearch c:/Users/usr/source/Java/algs4/target/tinyW.txt < /usr/source/Java/algs4/target/tinyT.txt
The system cannot find the path specified.

C:\Users\usr\source\Java>

我从GitHub下载了一个maven项目,并试图通过打开BinarySearch使用mscode进行构建。java并单击main()顶部的“run”,但由于文件未找到错误,无法在mscode中运行文件。但是所提到的依赖项位于同一目录和命名空间中。 这是我得到的信息:

c:\Users\usr\Documents\JavaSource\algs4\src\main\java\edu\princeton\cs\algs4>cd c:\Users\usr\Documents\JavaSource\algs4\src\main\java\edu\princeton\cs\algs4 && C:\Users\usr\.vscode\extensions\vscjava.vscode-java-debug-0.23.0\scripts\launcher.bat C:\Users\usr\AppData\Local\Programs\AdoptOpenJDK\\bin\java -Dfile.encoding=UTF-8 -cp C:\Users\usr\AppData\Roaming\Code\User\workspaceStorage\cc8ab34620dad8d5d783976fbc70bb1a\redhat.java\jdt_ws\jdt.ls-java-project\bin edu.princeton.cs.algs4.BinarySearch
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
    In cannot be resolved to a type
    In cannot be resolved to a type
    StdOut cannot be resolved

    at edu.princeton.cs.algs4.BinarySearch.main(BinarySearch.java:95)

我还尝试将args传递到该文件

enter image description here


共 (1) 个答案