小编Nak*_*ura的帖子

Gradle、SpringBoot、MavenPublish - 发布仅包含没有版本的依赖项和/或约束

我在 Gradle 中使用 maven-publish 插件来发布我的 Spring Boot 应用程序 jar。我运行通常的任务:./gradlew artifactorypublish. 但是,出现了以下错误,我可以理解其含义:

> Task :assembleArtifact
> Task :application-jar:compileJava UP-TO-DATE
> Task :application-jar:processResources UP-TO-DATE
> Task :application-jar:classes UP-TO-DATE
> Task :application-jar:jar SKIPPED
> Task :generateMetadataFileForMavenJavaPublication FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':generateMetadataFileForMavenJavaPublication'.
> Invalid publication 'mavenJava':
    - Publication only contains dependencies and/or constraints without a version. You need to add minimal version information, publish resolved versions (https://docs.gradle.org/6.1/userguide/publishing_maven.html#publishing_maven:resolved_dependencies) or reference a platform …
Run Code Online (Sandbox Code Playgroud)

java spring gradle spring-boot maven-publish

7
推荐指数
3
解决办法
4139
查看次数

python-模块的导入顺序

例如,有一些文件夹:

.
??? file_a.py
??? file_b
?   ??? __init__.py
??? file_b.py
Run Code Online (Sandbox Code Playgroud)

哪里file_a.py有这样的东西:

from file_b import some_function
Run Code Online (Sandbox Code Playgroud)

我知道这绝对不是好习惯,但是解决的顺序是什么?

即python如何为“绝对导入”决定要导入哪个模块?

python python-import

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

反应本地-绝对导入package.json中的别名

我看到一些项目使用import '@someDir/something',解决了相对的导入问题。

然后,我发现这篇博客文章讨论了这种方法。它基本上告诉您package.json在目录中创建并指定其别名。

我在基于expo的react-native项目中实现了它,并且效果很好。

像这样:

{"name": "@someDir"}
Run Code Online (Sandbox Code Playgroud)

里面src/someDir/package.json

import '@someDir/something'无处不在。

为什么这样工作?魔术发生在哪里?Webpack还是Babel或react-native本身?

我看到一个讨论此功能的问题,但我不知道在哪里实现。

我的.babelrc

{
  "presets": ["babel-preset-expo"],
    "env": {
        "development": {
              "plugins": ["transform-react-jsx-source"]
      }
    }
}
Run Code Online (Sandbox Code Playgroud)

它挖掘了通天塔的依赖,但找不到任何相关的东西。

javascript node.js react-native es6-modules expo

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

Vue - 使用 v-bind 和 props 对选择元素进行两种方式绑定

我有一个子组件:

select(v-model="selectedItem", @change="emitChange")
  option(:value="{id: '123', value: 'foo'}") 123
  option(:value="{id: '456', value: 'bar'}") 456
Run Code Online (Sandbox Code Playgroud)
data: {
  selectedItem: '',
},
methods: {
  emitChange() {
    this.$emit('change', this.selectedItem);
  },
}
Run Code Online (Sandbox Code Playgroud)

上面一个工作正常。


但我想让值<select>取决于父级。

所以我执行以下操作:

select(:value="selectedItem", @change="emitChange")
  option(:value="{id: '123', value: 'foo'}") 123
  option(:value="{id: '456', value: 'bar'}") 456
Run Code Online (Sandbox Code Playgroud)
props: ['selectedItem'],
methods: {
  emitChange(e) {
    this.$emit('change', e.target.value);
  },
}
Run Code Online (Sandbox Code Playgroud)

parent 将在哪里捕获事件并更改selectedItem

但这不起作用。e.target.value会像[object Object].

我在这里缺少什么?

html javascript vue.js vue-component vuejs2

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

async setState是什么意思?

在react-native中考虑TextInput,下面的实现似乎是一种标准方法:

<TextInput
  value={this.state.text}
  onChangeText={text => this.setState({ text })}
/>
Run Code Online (Sandbox Code Playgroud)

但是,setState()是一个异步函数.我想知道是否可能由于setState()的执行顺序而遇到不一致.

例如:

  1. 输入'ab'
  2. setState({text:'ab'})
  3. setState({text:'a'})
  4. this.state.text导致'a'

javascript reactjs react-native

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