drools 5에 대한보다 포괄적 인 빠른 시작이 있습니까? 간단한 Hello World .drl 규칙을 실행하려고 시도했지만 ant 스크립트를 통해이를 수행하려고했습니다. 단지 javac의/자바 :매우 기본적인 drools 5의 실행, 기본 설정 및 빠른 시작
내가받을 다음과 같은 오류 : 참고 :
내가하려고 시도했습니다이 샘에 대한보다 포괄적 인 빠른 시작 5. 거기 : 나는 이클립스 또는 다른 IDE없이 완전히 실행하고 있지 않습니다 간단한 Hello World .drl 규칙을 실행하지만 개미 스크립트를 통해 javac/java와 함께 사용하고 싶었습니다.나는 때문에 오류 : 참고 :
test:
[java] Exception in thread "main" org.drools.RuntimeDroolsException: Unable to load d
ialect 'org.drools.rule.builder.dialect.java.JavaDialectConfiguration:java:org.drools.rule
.builder.dialect.java.JavaDialectConfiguration'
[java] at org.drools.compiler.PackageBuilderConfiguration.addDialect(PackageBuild
erConfiguration.java:274)
[java] at org.drools.compiler.PackageBuilderConfiguration.buildDialectConfigurati
onMap(PackageBuilderConfiguration.java:259)
[java] at org.drools.compiler.PackageBuilderConfiguration.init(PackageBuilderConf
iguration.java:176)
[java] at org.drools.compiler.PackageBuilderConfiguration.<init>(PackageBuilderCo
nfiguration.java:153)
[java] at org.drools.compiler.PackageBuilder.<init>(PackageBuilder.java:242)
[java] at org.drools.compiler.PackageBuilder.<init>(PackageBuilder.java:142)
[java] at org.drools.builder.impl.KnowledgeBuilderProviderImpl.newKnowledgeBuilde
r(KnowledgeBuilderProviderImpl.java:29)
[java] at org.drools.builder.KnowledgeBuilderFactory.newKnowledgeBuilder(Knowledg
eBuilderFactory.java:29)
[java] at org.berlin.rpg.rules.Rules.rules(Rules.java:33)
[java] at org.berlin.rpg.rules.Rules.main(Rules.java:73)
[java] Caused by: java.lang.RuntimeException: The Eclipse JDT Core jar is not in the
classpath
[java] at org.drools.rule.builder.dialect.java.JavaDialectConfiguration.setCompil
er(JavaDialectConfiguration.java:94)
[java] at org.drools.rule.builder.dialect.java.JavaDialectConfiguration.init(Java
DialectConfiguration.java:55)
[java] at org.drools.compiler.PackageBuilderConfiguration.addDialect(PackageBuild
erConfiguration.java:270)
[java] ... 9 more
[java] Java Result: 1
...
...
내 javac의 및 자바 대상으로 다음과 같은 라이브러리를 포함 할 : 나는 이클립스 또는 다른 IDE없이 완전히 실행하고 있지 않습니다 여기
<path id="classpath">
<pathelement location="${lib.dir}" />
<pathelement location="${lib.dir}/drools-api-5.0.1.jar" />
<pathelement location="${lib.dir}/drools-compiler-5.0.1.jar" />
<pathelement location="${lib.dir}/drools-core-5.0.1.jar" />
<pathelement location="${lib.dir}/janino-2.5.15.jar" />
</path>
는 자바입니다 오류를 던지고있는 코드. 나는 java.compiler 코드를 주석 처리했다.
공공 무효 규칙()
{
/*
final Properties properties = new Properties();
properties.setProperty("drools.dialect.java.compiler", "JANINO");
PackageBuilderConfiguration cfg = new PackageBuilderConfiguration(properties);
JavaDialectConfiguration javaConf = (JavaDialectConfiguration)
cfg.getDialectConfiguration("java");
*/
final KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
// this will parse and compile in one step
kbuilder.add(ResourceFactory.newClassPathResource("HelloWorld.drl", Rules.class), ResourceType.DRL);
// Check the builder for errors
if (kbuilder.hasErrors()) {
System.out.println(kbuilder.getErrors().toString());
throw new RuntimeException("Unable to compile \"HelloWorld.drl\".");
}
// Get the compiled packages (which are serializable)
final Collection<KnowledgePackage> pkgs = kbuilder.getKnowledgePackages();
// Add the packages to a knowledgebase (deploy the knowledge packages).
final KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
kbase.addKnowledgePackages(pkgs);
final StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
ksession.setGlobal("list", new ArrayList<Object>());
ksession.addEventListener(new DebugAgendaEventListener());
ksession.addEventListener(new DebugWorkingMemoryEventListener());
// Setup the audit logging
KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, "log/helloworld");
final Message message = new Message();
message.setMessage("Hello World");
message.setStatus(Message.HELLO);
ksession.insert(message);
ksession.fireAllRules();
logger.close();
ksession.dispose();
} ...
내가 참으로 포크 세트가 있기 때문에 개미 관련되어 있다고 생각하지 않습니다 여기에:
<target name="test" depends="compile">
<java classname="org.berlin.rpg.rules.Rules" fork="true">
<classpath refid="classpath.rt" />
<classpath>
<pathelement location="${basedir}" />
<pathelement location="${build.classes.dir}" />
</classpath>
</java>
</target>
을
1 호선에서 오류가 발생합니다.
기본적으로 전화 외에는 아무 것도하지 않았습니다.
final KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
Windows XP, Java6 및 Ant.1.7에서 실행됩니다. Drools-Rules의 최신 버전 (어제 기준) 버전 5입니다.
정확히 "* Eclipse 또는 다른 IDE가없는 상태에서 완전히 실행되지 않습니다 *"라고 말하면 IDE를 사용하고 있습니까? –