Constraint 无法解析为类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Constraint 无法解析为类型相关的知识,希望对你有一定的参考价值。

Guava 里面的包import com.google.common.collect里面有Constraint这个接口,但是就是无法使用
import com.google.common.base.Preconditions;
import com.google.common.collect.Sets; //这个又没有问题,都是在同一个Collect包里面

//报错,类型 com.google.common.collect.Constraint 不可视
import com.google.common.collect.Constraint;

public class Const
public static void main(String[] args)
Set<String> sets = Sets.newHashSet();

//报错 Constraint 无法解析
Constraint<String> con =new Constraint<String>()

public String checkElement(String element)
//非空验证
Preconditions.checkNotNull(element);
//长度验证 5-20为字符串
Preconditions.checkArgument(element.length()>=5 && element.length()<=20);
return element;

;


如何解决类型com.google.common.collect.Constraint不可视的问题,

参考技术A 这个不是问题,而是他根本就不开放这个接口,就像你想在一个类中直接访问另一个类的private实例变量一样,当然是提示你这个东东不可见。
你一定要用那怎么办?试试反射机制行不行追问

我暂时还不会反射机制,不过我觉得可能不行吧!问题我已经解决了。是我使用的包的版本太高了(18版),这个接口虽然存在不知道为什么就是无法使用,我是看着教程学的,我按照教程把版本降低到14后就可以了。不管怎么样,还是谢谢你。

本回答被提问者和网友采纳
参考技术B 与其临渊羡鱼,不如退而结网。追问

退,确实是可以结网,但是不能每次都退!这只是其中一个接口,还有其他接口也有类似问题,问题得不到解决,每次都退而求其次,这不好!

EnableConfigServer 无法解析为类型

【中文标题】EnableConfigServer 无法解析为类型【英文标题】:EnableConfigServer cannot be resolved to a type 【发布时间】:2020-06-14 08:35:04 【问题描述】:

我想通过添加 @EnableConfigServer 来连接我的 Spring Cloud 配置服务器,但出现 的错误。已经检查了 application.properties、名称、git 存储库路径,我也已经尝试清理项目仍然出现同样的错误。我无法查看 localhost:8888/limits-service/default。请帮助我

这是我的 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.2.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.samazlan.microservices</groupId>
    <artifactId>spring-cloud-config-server</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>spring-cloud-config-server</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Hoxton.SR1</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>$spring-cloud.version</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

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

        <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
    </build>


</project>

【问题讨论】:

【参考方案1】:

对我来说,更改启动器依赖项后问题已解决 来自

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-**starter-config**</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-**config-server**</artifactId>
</dependency>

【讨论】:

【参考方案2】:

您可以尝试以in here 的身份清理您的本地 .m2 maven 缓存。

(重命名,强制maven重新创建一个新的m2文件夹)。 然后看看是否导入了依赖项。

【讨论】:

@samazlan 只需重命名 ~/.m2 文件夹(请参阅 mkyong.com/maven/where-is-maven-local-repository)。然后重新启动一个 Maven 构建。

以上是关于Constraint 无法解析为类型的主要内容,如果未能解决你的问题,请参考以下文章

无法解析为类型(jsp + eclipse)

Cucumber 无法解析为类型

EnableConfigServer 无法解析为类型

EnableWebSecurity 无法解析为类型

SpringBootTest 无法解析为类型

FragmentActivity 无法解析为类型