相关疑难解决方法(0)

如何使用sed只替换文件中的第一个匹配项?

我想在任何现有的#includes之前用额外的include指令更新大量的C++源文件.对于这种任务,我通常使用带有sed的小bash脚本来重写文件.

如何sed更换文件中第一次出现的字符串而不是替换每次出现?

如果我使用

sed s/#include/#include "newfile.h"\n#include/
Run Code Online (Sandbox Code Playgroud)

它取代了所有#includes.

也欢迎提供相同建议的替代建议.

command-line text-processing sed

195
推荐指数
11
解决办法
32万
查看次数

使用javax.tools.JavaCompiler在内存中完全编译代码

我正在使用javax.tools包(JDK 1.7)中的JavaCompiler来动态编译一些东西,如下所示:

compiler.run(null, null, "-cp", paths, "path/to/my/file.java");
Run Code Online (Sandbox Code Playgroud)

它可以工作,但我想在内存中完成所有操作(例如,传递带代码的字符串,而不是源文件,并获取字节代码而不是.class文件).我发现扩展InputStreamOutputStream参数是没有用的,因为它可能与控制台中的相同.你知道一种让run方法像这样工作的方法吗?或者您是否知道使用该getTask()方法确认的方法?(扩展FileManager看起来很简单但不是那么容易:)

java compilation javac java-compiler-api

42
推荐指数
4
解决办法
3万
查看次数

错误:类X是public应该在名为X.java的文件中声明

我正在尝试编写程序,但是我收到了这个编译错误:

Main.java:1: error: class WeatherArray is public, should be declared in a file named WeatherArray.java
public class WeatherArray {
       ^
1 error
Run Code Online (Sandbox Code Playgroud)

我检查了我的文件名,我的公共类与我的.java文件相同.

我怎样才能解决这个问题?

这是我的代码:

public class WeatherArray {
    public static void main(String[] args) {
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

java

31
推荐指数
4
解决办法
20万
查看次数

从命令行运行java程序时,在线程"main"java.lang.NoClassDefFoundError'中出现异常

我在这做错了什么:

class Helo { 
   // main: generate some simple output 
   public static void main (String[] args) { 
      System.out.println ("Hello, world."); // print one line 
      System.out.println ("How are you?"); // print another 
   } 
} 
Run Code Online (Sandbox Code Playgroud)

当我进入终端时,我做:

cd ~
javac Atempt2.java (//that's the file name) 
java Atempt2 
Run Code Online (Sandbox Code Playgroud)

然后它给了我这个错误信息:

Exception in thread "main" java.lang.NoClassDefFoundError: Atempt2
Run Code Online (Sandbox Code Playgroud)

总而言之,这就是我所做的和所发生的事情:

david-allenders-macbook-pro:~ davidallender$ cd ~
david-allenders-macbook-pro:~ davidallender$ javac Atempt2.java
david-allenders-macbook-pro:~ davidallender$ java Atempt2
Exception in thread "main" java.lang.NoClassDefFoundError: Atempt2
david-allenders-macbook-pro:~ davidallender$ 
Run Code Online (Sandbox Code Playgroud)

我是新手,所以请以非常简单的方式解释一下.

谢谢.

java

5
推荐指数
3
解决办法
3057
查看次数