我試圖基於this project在Github上我的項目模型。如何在非Maven項目中擁有主要/資源的等價物?
public class DroolsPlannerPoCApp {
....
private static final String SOLVER_CONFIG = "/ServiceDeliverySolverConfig.xml";
....
private Solver createSolver() {
XmlSolverConfigurer configurer = new XmlSolverConfigurer();
configurer.configure(SOLVER_CONFIG);
return configurer.buildSolver();
}
在SOLVER_CONFIG
提到的文件在於resources
目錄(see here)。
我試圖做同樣的事情。
package in.co.technovia.sudoku;
import java.util.ArrayList;
....
public class App{
private static final String SOLVER_CONFIG = "/solver.xml";
public static void main(String[] args){
SudokuGenerator sg = new SudokuGenerator();
....
}
private static Solver createSolver(){
XmlSolverConfigurer configurer = new XmlSolverConfigurer();
configurer.configure(SOLVER_CONFIG);
return configurer.buildSolver();
}
}
並且有失敗。
[email protected]:~/dev/drools/sudoku$ java in.co.technovia.sudoku.AppException in thread "main" java.lang.IllegalArgumentException: The solver configuration (/solver.xml) does not exist.
at org.drools.planner.config.XmlSolverConfigurer.configure(XmlSolverConfigurer.java:79)
at in.co.technovia.sudoku.App.createSolver(App.java:67)
at in.co.technovia.sudoku.App.main(App.java:43)
我明白main/resources
意味着什麼爲的Maven構建。但我正在手動構建我的項目。
問題:如何在我自己的項目中實現同樣的事情(從資源)?我必須在哪裏放置文件以及我必須在SOLVER_CONFIG中指定的內容?
的function itself被實現爲:
public XmlSolverConfigurer configure(String resource) {
return configure(getClass().getResourceAsStream(resource));
}