小编Tii*_*ina的帖子

如何使用 $ref 引用另一个 OpenAPI 文件的路径?

这里说我可以引用另一个文件中的定义来获取单个路径,但该示例似乎引用了整个文件,而不是对象下的单个路径定义paths。如何在另一个文件的paths对象中分配单独的路径?

例如,我有Anotherfile.yaml包含路径/a/b

paths:
  /a/b:
    post:
Run Code Online (Sandbox Code Playgroud)

在另一个文件中,我使用如下方式$ref引用路径:/a/b

paths:
  /c/d:
    $ref: 'Anotherfile.yaml#/paths/a/b'
Run Code Online (Sandbox Code Playgroud)

但这给出了一个错误:

在 ./Anotherfile.yaml 的内容中找不到路径/a/b

openapi

19
推荐指数
1
解决办法
2万
查看次数

如何在安装了goclipse的eclipse中运行GO项目

我在我的eclipse中安装了goclipse并创建了一个新的go项目.

现在这就是我所拥有的:

在此输入图像描述

我有hello.go看起来像这样:

package main

import "fmt"

func main() {
     fmt.Println("Hello")
}
Run Code Online (Sandbox Code Playgroud)

然后我按下运行按钮,或者右键单击文件hello.go,然后运行,它什么都没有.此外,它在bin文件夹中也是空的.

然后我按下run configurations按钮,几乎是空的,只有一个项目名称.它给:

Given Go package not found.
Run Code Online (Sandbox Code Playgroud)

这是我的Go首选项: 在此输入图像描述

我注意到GOROOT和GOPATH都与explorer中列出的不同,但是一旦我将它们更改为C:\ Go\src\pkg或C:\ Go\src,"应用"和"确定"按钮将被禁用.此外,我也没有C:\ Go\src\pkg文件夹.

我可以go installgo build在命令行中,但我想将eclipse用于另一个更大的项目.这是Windows 7,而eclipse版本是Luna Service Release 1(4.4.1).谢谢.

编辑:现在我有以下配置,它工作正常:Go安装在c:\ Go中的首选项:GOROOT:C:\ Go,GOPATH:C:\ Users\Tiina\go_workspace首选项中的其余部分自动填写.helloTest项目位于C:\ Users\Tiina\go_workspace\src\helloTest hello.go位于C:\ Users\Tiina\go_workspace\src\helloTest\hello.go也许是因为我从现有代码创建了一个项目,并且留下了一些东西,它会自动添加另一个GOPATH,在Preferences中删除它.

eclipse go goclipse

14
推荐指数
1
解决办法
3万
查看次数

Spring启动缓存无法为Builder解析缓存

根据链接,在spring boot中使用缓存的最简单配置是使用CacheManager(缓存Map将在此类中初始化):

@Configuration
@EnableCaching
public class CacheService extends CachingConfigurerSupport {
    @Bean
    public CacheManager concurrentMapCacheManager() {
        ConcurrentMapCacheManager cmcm = new ConcurrentMapCacheManager();
        return cmcm;
    }

    @Bean
    @Primary
    public CacheManager guavaCacheManager() {
        GuavaCacheManager gcm = new GuavaCacheManager();
        return gcm;
    }
}
Run Code Online (Sandbox Code Playgroud)

并在serviceImpl.java:

 @Cacheable(cacheManager="guavaCacheManager")
 @Override
 public List<RoleVO> getDataForCreateNewOperator() {
  ...
 }
Run Code Online (Sandbox Code Playgroud)

但它抛出:

java.lang.IllegalStateException: No cache could be resolved for 'Builder[public java.util.List getDataForCreateNewOperator()] caches=[] | key='' | keyGenerator='' | cacheManager='guavaCacheManager' | cacheResolver='' | condition='' | unless='' | sync='false'' using resolver 'org.springframework.cache.interceptor.SimpleCacheResolver@38466d10'. …
Run Code Online (Sandbox Code Playgroud)

caching spring-boot

12
推荐指数
1
解决办法
8619
查看次数

java并发在map值上同步

下面的代码,我很困惑当2个线程竞争锁时会发生什么map.get(k).当线程A获胜时,它会使map.get(k)null,第二个线程会获得一个synchronized(null)?或者它是否都是线程看到它synchronized(v)即使第一个线程将其更改为null但在哪个线程B仍然看到它v

synchronized(map.get(k)) {
   map.get(k).notify();
   map.remove(k);
}
Run Code Online (Sandbox Code Playgroud)

问题类似于另一个问题,除了锁定对象是地图的值.

更新:比较这篇文章和上述链接中的讨论,是否属实

synchronized(v) {
    v.notify();
    v = null;
} 
Run Code Online (Sandbox Code Playgroud)

会导致第二个线程synchronized(null).但对于synchronized(map.get(k)),第二个线程将有synchronized(v)???

更新:要回答@ Holger的问题,这篇文章与另一篇文章的主要区别在于:

final V v = new V();
synchonized(map.get(k)) {
    map.get(k).notify();
    map.remove(k);
}
Run Code Online (Sandbox Code Playgroud)

java multithreading

10
推荐指数
1
解决办法
1008
查看次数

python setup.py sdist 错误此项目的版本控制需要 sdist tarball,或访问上游 git 存储库

github下载的 tosca-parser ,在使用时python setup.py develop,它抱怨:此项目的版本控制需要 sdist tarball,或访问上游 git 存储库。所以我python setup.py sdist改用,错误是一样的:

ERROR:root:Error parsing
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/pbr/core.py", line 96, in pbr
    attrs = util.cfg_to_args(path, dist.script_args)
  File "/usr/lib/python2.7/site-packages/pbr/util.py", line 270, in cfg_to_args
    pbr.hooks.setup_hook(config)
  File "/usr/lib/python2.7/site-packages/pbr/hooks/__init__.py", line 25, in setup_hook
    metadata_config.run()
  File "/usr/lib/python2.7/site-packages/pbr/hooks/base.py", line 27, in run
    self.hook()
  File "/usr/lib/python2.7/site-packages/pbr/hooks/metadata.py", line 26, in hook
    self.config['name'], self.config.get('version', None))
  File "/usr/lib/python2.7/site-packages/pbr/packaging.py", line 874, in get_version
    name=package_name))
Exception: Versioning for this project requires either an sdist …
Run Code Online (Sandbox Code Playgroud)

python

8
推荐指数
1
解决办法
2358
查看次数

intellij 想法内部java编译器错误

我正在运行一个与test_harness完全一样的简单模式匹配程序

Information:java: Errors occurred while compiling module 'demo_java8'
Information:javac 1.8.0_121 was used to compile java sources
Information:2018-02-06 10:15 - Compilation completed with 1 error and 0 warnings in 376ms
Error:java: Compilation failed: internal java compiler error
Run Code Online (Sandbox Code Playgroud)

但是终端命令javac xxx.javajava xxx正常运行。

运行第一个 hello world 程序会出现相同的错误。

java intellij-idea

6
推荐指数
2
解决办法
8948
查看次数

使用命令行参数配置 Spring Boot 应用程序

到目前为止,我发现了两种在启动时配置 Spring Boot 应用程序的方法,一种使用-D,另一种使用--如下:

java -jar -Dspring.profiles.active=test app.jar
java -jar --spring.profiles.active=test app.jar
Run Code Online (Sandbox Code Playgroud)

有时,第一个有效,有时第二个有效。正如开发人员发现的,当run以下示例中的方法未给定args参数时,--该方法不起作用,但-D可以。

public static void main(final String[] args) {
    SpringApplication.run(Application.class, args);
}
Run Code Online (Sandbox Code Playgroud)

今天,我在命令行配置 logback,发现不起作用,-Dlogback.configurationFile=/full_path/logback.xml--logging.config=file:logback.xml确实有效。

以上可能有其他原因,也许logback.configurationFile是错误的,但它的作用是相似的-D--不同的。

那么我的问题是-Dand是什么--,是 Java 还是 Spring 的东西?为什么不工作和工作之间存在差异?

java spring-boot

6
推荐指数
1
解决办法
3278
查看次数

如何在@Query 中使用枚举作为常量

我试图在!=但没有帮助之后放置一个完整的类路径(com.xxxx.State.Finish)。

@Query("select c from CustomOrder c where c.dealer = :roleName and 
     c.nextManager = null and c.currentState != Finish")
List<CustomOrder> findOpenOrder(@Param("roleName") String roleName);
Run Code Online (Sandbox Code Playgroud)

实体:

@Getter
@Enumerated(EnumType.STRING)
CustomOrderEnums.State currentState;
Run Code Online (Sandbox Code Playgroud)

枚举:

public enum State {
    Open, Finish
}
Run Code Online (Sandbox Code Playgroud)

spring-data-jpa

5
推荐指数
1
解决办法
5037
查看次数

为什么在 lambda 中使用 ++i 而不是 i++

我碰巧知道,在下面的表达式中,使用i++将导致无限流,i将始终为 0。我感到困惑是因为我认为i++没有使用返回值,即使如此,它也不应该在i之后中断增量。

IntStream.iterate(0, i-> i<10, i-> ++i).forEach(....)
Run Code Online (Sandbox Code Playgroud)

lambda java-9

4
推荐指数
1
解决办法
234
查看次数

错误:Kotlin:在使用 Java 而不是 Kotlin 或 gradle 的 Spring Boot 项目中使用不兼容版本的 Kotlin 编译了模块

Intellij IDEA 和 JDK 11,这不是 android 项目,不使用 Kotlin。它是一个使用 initilizer 生成的 Spring Boot 应用程序。像这样:

https://start.spring.io/starter.zip?type=maven-project&language=java&bootVersion=2.6.3&baseDir=demo&groupId=com.example&artifactId=demo&name=multidatasource&description=Demo%20project%20for%20Spring%20Boot&packageName=com.example。演示&打包= jar&javaVersion = 11&依赖项= lombok,data-jpa,mysql,webflux,data-rest

然后我在其中添加了服务代码。构建时,它因丢失错误而停止,修复它们后,根本无法构建,IDEA给出错误:

信息:Kotlin:kotlinc-jvm 1.3.41 (JRE 11.0.4+10-b304.77)

信息:2022 年 2 月 11 日下午 3:20 - 构建完成,在 1 秒 823 毫秒内出现 1 个错误和 0 个警告

错误:Kotlin:模块是使用不兼容的 Kotlin 版本编译的。其元数据的二进制版本是1.5.1,预期版本是1.1.15。

pom.xml与上面链接生成的保持相同。我检查了IDEA模块设置,没有什么奇怪的。我grep -rn kotlin *在项目文件夹中,没有匹配的结果。

然后我想是不是因为依赖有kotlin冲突,所以我从一个新下载的项目开始,运行成功(证明kotlin问题不是因为依赖);然后我替换文件夹src,它也运行成功。

有没有人使用过Spring Boot + Java + maven,还有IDEA,也许还有JDK11,并遇到过同样的错误?

谢谢。

错误

更新: 我认为这是一个 Intellij IDEA 的 bug,并不是所有人run都有这个问题

java intellij-idea

4
推荐指数
1
解决办法
1万
查看次数