首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未找到Spring 2软件包

未找到Spring 2软件包
EN

Stack Overflow用户
提问于 2019-01-08 22:54:27
回答 1查看 1.8K关注 0票数 1

大家好,我刚开始学春天。在maven打包时,我得到以下错误

代码语言:javascript
复制
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project pet-clinic-web: Compilation failure: Compilation failure:
[ERROR] /C:/Users/user/Dropbox/yyy/spring/frameworkGuru/my-pet-clinic/pet-clinic-web/src/main/java/xxx/xxx/mypetclinic/controllers/OwnerController.java:[3,45] package xxx.xxx.mypetclinic.services does not exist
[ERROR] /C:/Users/user/Dropbox/yyy/spring/frameworkGuru/my-pet-clinic/pet-clinic-web/src/main/java/xxx/xxx/mypetclinic/controllers/OwnerController.java:[12,19] cannot find symbol
[ERROR] symbol:   class OwnerService
[ERROR] location: class xxx.xxx.mypetclinic.controllers.OwnerController
[ERROR] /C:/Users/user/Dropbox/yyy/spring/frameworkGuru/my-pet-clinic/pet-clinic-web/src/main/java/xxx/xxx/mypetclinic/controllers/OwnerController.java:[14,28] cannot find symbol
[ERROR] symbol:   class OwnerService
[ERROR] location: class xxx.xxx.mypetclinic.controllers.OwnerController
[ERROR] -> [Help 1]

我有两个模块数据和web,我试图访问OwnerService(数据->服务)从OwnerController(web->控制器)。我在web pom中添加了数据模块作为依赖项。

Intellij不显示错误,我甚至可以列出所有所有者--它工作得很好--但是我尝试打包并显示错误。以下是一些项目文件。

我尝试过用较早的spring引导版本2.0.3,错误已经消失,但在2.1.1中仍然存在。

项目pom

代码语言:javascript
复制
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>xxx.xxx</groupId>
    <artifactId>my-pet-clinic</artifactId>
    <version>0.0.2-SNAPSHOT</version>


    <modules>
        <module>pet-clinic-data</module>
        <module>pet-clinic-web</module>
    </modules>

    <packaging>pom</packaging>

    <name>my-pet-clinic</name>
    <description>My recode of spring pet clinic</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.1.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <java.version>9</java.version>
        <start-class>xxx.xxx.mypetclinic.MyPetClinicApplication</start-class>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <!--<version>2.5.3</version>-->
                <configuration>
                    <goals>install</goals>
                    <autoVersionSubmodules>true</autoVersionSubmodules>
                </configuration>
            </plugin>
        </plugins>
    </build>



</project>

数据波姆

代码语言:javascript
复制
<parent>
    <artifactId>my-pet-clinic</artifactId>
    <groupId>xxx.xxx</groupId>
    <version>0.0.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

<artifactId>pet-clinic-data</artifactId>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

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

    </plugins>
</build>

网络pom

代码语言:javascript
复制
    <parent>
        <artifactId>my-pet-clinic</artifactId>
        <groupId>xxx.xxx</groupId>
        <version>0.0.2-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>pet-clinic-web</artifactId>

    <properties>
        <!-- Web dependencies -->
        <webjars-bootstrap.version>3.3.6</webjars-bootstrap.version>
        <webjars-jquery-ui.version>1.11.4</webjars-jquery-ui.version>
        <webjars-jquery.version>2.2.4</webjars-jquery.version>
        <wro4j.version>1.8.0</wro4j.version>
    </properties>

    <dependencies>
        <dependency>
            <artifactId>pet-clinic-data</artifactId>
            <groupId>xxx.xxx</groupId>
            <version>0.0.2-SNAPSHOT</version>
        </dependency>


        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>webjars-locator-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>jquery</artifactId>
            <version>${webjars-jquery.version}</version>
        </dependency>
        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>jquery-ui</artifactId>
            <version>${webjars-jquery-ui.version}</version>
        </dependency>
        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>bootstrap</artifactId>
            <version>${webjars-bootstrap.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>



</project>

OwnerController

代码语言:javascript
复制
package xxx.xxx.mypetclinic.controllers;

import xxx.xxx.mypetclinic.services.OwnerService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@RequestMapping("/owners")
@Controller
public class OwnerController {

    private final OwnerService ownerService;

    public OwnerController(OwnerService ownerService) {
        this.ownerService = ownerService;
    }

    @RequestMapping({"","/","/index", "/index.html"})
    public String listOwners(Model model){

        model.addAttribute("owners",ownerService.findAll());

        return "owners/index";
    }
}

OwnerService

代码语言:javascript
复制
package xxx.xxx.mypetclinic.services;

import xxx.xxx.mypetclinic.model.Owner;

public interface OwnerService extends CrudService<Owner, Long>{

    Owner findByLastName(String lastName);

}

和OwnerServiceMap实现

代码语言:javascript
复制
package xxx.xxx.mypetclinic.services.map;

import xxx.xxx.mypetclinic.model.Owner;
import xxx.xxx.mypetclinic.services.OwnerService;
import org.springframework.stereotype.Service;

import java.util.Set;

@Service
public class OwnerServiceMap extends AbstractMapService<Owner, Long> implements OwnerService {

    @Override
    public Set<Owner> findAll() {
        return super.findAll();
    }

    @Override
    public Owner findById(Long id) {
        return super.findById(id);
    }

    @Override
    public Owner save(Owner object) {
        return super.save(object);
    }

    @Override
    public void delete(Owner object) {
        super.delete(object);
    }

    @Override
    public void deleteById(Long id) {
        super.deleteById(id);
    }

    @Override
    public Owner findByLastName(String lastName) {
        return null;
    }
}

码回购

EN

回答 1

Stack Overflow用户

发布于 2019-01-09 00:02:14

我觉得你错过了一个

代码语言:javascript
复制
<dependencyManagement>
   <dependencies>
      <dependency>
        <!-- Import dependency management from Spring Boot -->
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>SPRING-BOOT-VERSION-HERE</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
   </dependencies>
</dependencyManagement>

从你的pom.xml

有关详细信息,请参阅:https://stackoverflow.com/a/21318359/2891426

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54100891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档