㈠ java寫一個行編譯器,編譯時提示找不到源,問題在string的用法中,是什麼原因
把環境變數path,classpath里多餘的東西刪掉,path里加%JAVA_HOME%\bin;(要確定JAVA_HOME是對的),classpath里先要加上「.;」,再加上這幾個包:%JAVA_HOME%\jre\lib\rt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
不知道你的情況是不是和我當初遇到的一樣,試試看!
㈡ 求解 java動態編譯找不到類,往各位大蝦指導
參照網上其他童鞋的例子與介紹,修改了一下:
import java.io.IOException;
import java.lang.reflect.Method;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Arrays;
import javax.tools.JavaCompiler;
import javax.tools.JavaCompiler.CompilationTask;
import javax.tools.JavaFileObject;
import javax.tools.SimpleJavaFileObject;
import javax.tools.StandardJavaFileManager;
import javax.tools.ToolProvider;
/**
* 動態編譯Java 源文件
*
* @author shenshouer
*
*/
public class CompilerTest {
public static void main(String[] args) throws Exception {
String source = "public class Main { " + "public static void main(String[]args) {"
+ "System.out.println(\"Hello World!\");" + "} " + "}";
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null);
StringSourceJavaObject sourceObject = new CompilerTest.StringSourceJavaObject("Main",
source);
Iterable<? extends JavaFileObject> fileObjects = Arrays.asList(sourceObject);
// 獲取編譯類根路徑,不然會報找不到類的錯誤
String path = Class.class.getClass().getResource("/").getPath();
Iterable< String> options = Arrays.asList("-d", path);
// 增加options參數
// CompilationTask task = compiler.getTask(null, fileManager, null, null, null, fileObjects);
CompilationTask task = compiler.getTask(null, fileManager, null, options, null, fileObjects);
boolean result = task.call();
if (result) {
System.out.println("編譯成功。");
ClassLoader loader = CompilerTest.class.getClassLoader();
try {
Class<?> clazz = loader.loadClass("Main");
Method method = clazz.getMethod("main", String[].class);
// 修改調用參數,不然會報參數個數不對
// Object value = method.invoke(null, new Object[] {});
Object value = method.invoke(null, new Object[] {new String[]{}});
System.out.println(value);
} catch (Exception e) {
e.printStackTrace();
}
}
}
static class StringSourceJavaObject extends SimpleJavaFileObject {
private String content = null;
public StringSourceJavaObject(String name, String content) throws URISyntaxException {
super(URI.create("string:///" + name.replace('.', '/') + Kind.SOURCE.extension),
Kind.SOURCE);
this.content = content;
}
public CharSequence getCharContent(boolean ignoreEncodingErrors) throws IOException {
return content;
}
}
}
㈢ visual studio 2010c++編程無法找到源文件,就是無法打開iostream,cout也說未定義,怎沒回事,急急急
你建的是*.c文件?
又或者安裝時某些參數沒選好。
網上有說設置編譯器什麼的,過程如下
Settings-Compiler and debugger-選擇你要使用的編譯器-Other Settings-Compiler logging選擇Full command line
我一直找不到settings(設置)在哪。
你試試用C語言的scanf()H和printf() ,看看呢不能輸入輸出,如果這也不能,重裝吧。
㈣ 為什麼安裝完VC6.0後沒有源文件 改怎麼辦啊
調整一下directory,設置成你的安裝路徑,估計是編譯器找不到路徑所致
㈤ vc6.0的include里有指定的文件,編譯器卻找不到。
1、檢查編譯器制定的搜索目錄是否有這個文件所在目錄;
2、檢查該資源文件中的資源,是否符合資源文件的書寫規范,否則編譯器報找不到。
㈥ 編譯成功 Java 提示找不到或無法載入主類
這個問題分析如下
一、java執行class文件是根據CLASSPATH指定的地方來找,不是我們理解當前目錄。如果希望它查詢當前目錄,需要在CLASSPATH中加入「.;」,代表當前目錄。所以,如果是這個問題你的方案是在 classpath中 加上 .; 如圖:
㈦ 為什麼編譯提示找不到頭文件
Tools->Options->Directories,看看Include files的目錄配置是否正確。