首页 > 解决方案 > 无法运行 OptaPlanner 以优化 Eclipse 中的学校时间表示例

问题描述

我试图通过复制 Maven 所需的依赖项和所有相关代码来设置来自 OptaPlanner 的 TimeTable 示例(链接此处)。但是,当我尝试运行它时,会发生错误。

旁注,我试图将时间表复制到我们现有的 Java Spring Boot 版本 2.4.5 项目中。

以下是错误:

来自 Eclipse 控制台的错误 - 错误很长,但总是指没有找到带有 @PlanningSolution 注释的类,并且无法实例化 SolverConfig。 因此,我只取了最后一部分错误。

下面是我的项目 pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.4.5</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.xtra</groupId>
<artifactId>XtraDelivery</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>XtraDelivery</name>
<description>Java Spring Boot project for the Eurogain web portal for both internal and external client.</description>
<!-- <properties>
    <java.version>11</java.version>
</properties> -->
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
          <groupId>org.optaplanner</groupId>
          <artifactId>optaplanner-spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-envers</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-mail</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-quartz</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt</artifactId>
        <version>0.9.1</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-validation</artifactId>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.optaplanner</groupId>
            <artifactId>optaplanner-spring-boot-starter</artifactId>
            <version>8.8.0.Final</version>
        </dependency>
    </dependencies>
</dependencyManagement>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

这是主要的应用程序文件:

package com.xtra.portal;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class XtraDeliveryApplication {

public static void main(String[] args) {
    SpringApplication.run(XtraDeliveryApplication.class, args);
}

}

我想知道我还错过了什么或者......示例指南没有更新?非常感谢。

标签: javaspring-bootmavenoptaplanner

解决方案


从您粘贴的堆栈跟踪中查看此建议,我怀疑这会解决它:

在此处输入图像描述


推荐阅读