问题描述
Log.LogInfo("Compile Start..........");
String source = getmethodString(newClassName);//package testcase.cases public class Admin(){@Test public void test_case(){}}
Path currentRelativePath = Paths.get("");
String projectDirectory = currentRelativePath.toAbsolutePath().toString();
File root = new File(projectDirectory); // On Windows running on C:\,this is C:\java.
File sourceFile = new File(root,"test/"+newClassName+".java");
sourceFile.getParentFile().mkdirs();
Files.write(sourceFile.toPath(),source.getBytes(StandardCharsets.UTF_8));
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager fileManager = compiler.getStandardFileManager(null,null,null);
Iterable sourcefiles = fileManager.getJavaFileObjects(sourceFile);
List<String> optionList = new ArrayList<String>();
// set compiler's classpath to be same as the runtime's
optionList.addAll(Arrays.asList("-d","target/classes"));
boolean result = compiler.getTask(null,fileManager,optionList,sourcefiles).call();
这是我的代码,用于将java文件编译并将类加载到目标/类中,但是在eclipse上可以正常工作,但是当构建项目并制作具有maven依赖项的jar并在命令行上执行jar(通过开发人员机器上的批处理文件)时,它会创建新代码文件夹目标/类导致在任何情况下都不会执行。
这是我的内部Suite文件
<packages><package name="testcase.*" /></packages>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)