小编TmT*_*ron的帖子

如何使用Java 7和Maven在Eclipse Kepler中运行JSR269 annotaion处理器

我正在使用eclipse Kepler并且编译器设置为使用Java 7.我的类路径中有一个JSR269兼容的注释处理器(在maven容器中).

运行此注释处理器的最简单方法是什么?

实际上我希望Eclipse编译在构建期间自动运行这个注释处理器,因为它符合JSR 269 - 但事实并非如此.为什么不 - 是出于性能原因?

注意:命令行中的maven构建工作正常.

经过一些研究后发现,这可以在项目属性(Java编译器 - 注释处理 - 工厂路径)中进行配置.这里的问题是我当然想要使用已经在类路径上的注释处理器的.jar文件(在Maven容器中).我怎么能参考呢?我发现没有办法做到这一点.

我想出的最好的方法是使用M2_REPO变量,然后手动将路径附加到处理器,如下所示:

M2_REPO/com/gwtplatform/gwtp-processors/1.0.1/gwtp-processors-1.0.1.jar
Run Code Online (Sandbox Code Playgroud)

这显然存在处理器现在在2个地方指定的问题:在maven pom文件和eclipse项目中.怎么避免这个?

java eclipse maven annotation-processing m2e

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

IDEA:如何处理"模块'A'源不依赖于模块'B'源"警告

如何判断忽略IDEA永久忽略此警告?

Module 'A' sources do not depend on module 'B' sources
Run Code Online (Sandbox Code Playgroud)

注意:

  • 基本上警告是正确的,因为A不使用B的任何源代码
  • 但是B包含一些注释处理器逻辑,这在编译A时是必需的
  • 因此,B声明对A的依赖(我使用maven并将范围设置为provided- 它工作得很好)
  • Inspection Results对话中,我可以选择"排除" - 但这不是永久的:即当我再次开始分析时,警告将重新出现
  • 我也不想禁用所有内容的通知

我发现,唯一的解决方法是真正添加对A代码的引用(例如,在一个简单的假测试方法中) - 但我希望有更好的方法.

dependencies intellij-idea code-inspection

5
推荐指数
0
解决办法
210
查看次数

如何将'eventBusIndex'参数传递给EventBus注释处理器

我刚刚开始使用新的Android Jack编译器并使用 Greenrobot Eventbus.
我在一些试错后得到了它,但它似乎只能eventBusIndex在2个地方指定参数时工作- 请参阅下面的代码:

android {
    defaultConfig {
        javaCompileOptions {
            annotationProcessorOptions {
                // TODO: why must I specify eventBusIndex twice? --> also for each buildVariant
                arguments = [
                  'eventBusIndex': "com.tmtron.dscontrol.EventBusIndex"
                ]
            }
        }
    }
    // this is a workaround to specify the Manifest for AndroidAnnotations
    // see: https://code.google.com/p/android/issues/detail?id=210753
    applicationVariants.all { variant ->
        variant.variantData.variantConfiguration.javaCompileOptions.annotationProcessorOptions
                .arguments = [
                      'eventBusIndex': "com.tmtron.dscontrol.EventBusIndex"
                    , 'androidManifestFile': variant.outputs[0]?.processResources?.manifestFile?.absolutePath
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

android-gradle-plugin android-jack-and-jill greenrobot-eventbus-3.0

5
推荐指数
0
解决办法
514
查看次数

buildSrc dir + CustomTask:未实现方法“doLast”

buildSrc目录存在时,Android Studio 将错误地显示Method 'doLast' is not implemented自定义任务的错误:

为了验证这个问题,我在 Android Studio 中创建了一个新的空 Android 项目(我使用 V 3.0.1)向根build.gradle文件添加一个简单的自定义任务

class Greeting extends DefaultTask {
    String message
    String recipient

    @TaskAction
    void sayGreeting() {
        println "gradle version ${project.getGradle().getGradleVersion()}"
        println "${message}, ${recipient}!"
    }
}

task hello (type : Greeting) {
    group 'Welcome'
    description 'Produces a world greeting'
    message 'Hello'
    recipient 'World'
}
Run Code Online (Sandbox Code Playgroud)

这是来自 gradle-guide Writing Gradle Tasks 的一个非常简单的例子。
默认项目使用我的 gradle V4.1 安装。

当我现在刷新 Gradle 项目时,我可以执行hello任务并且 IDE 没有显示build.gradle …

gradle android-studio-3.0

5
推荐指数
0
解决办法
391
查看次数

Excel 中命名范围的有效“字母”是什么?

根据 Excel 文档:了解名称的语法规则

有效字符 名称的第一个字符必须是字母、下划线字符 (_) 或反斜杠 ()。名称中的剩余字符可以是字母、数字、句点和下划线字符。

但究竟什么是字母?
我认为这仅表示 ASCII 字母,例如:AZ 和 az
但显然我错了,因为还有以下工作(在我的英文 Excel 2013 上):

  • 德语变音:Ö,ö,Ü,ü 等。
  • 法语口音:é、ê 等。

那么如何在 VBA 中检查字符串中哪些字符有效,哪些无效?

excel vba

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

对于64位版本,Trunc()针对高Int64失败

为什么以下代码在64位版本中失败(但适用于32位版本)?

var
  TruncTmp: Extended;
begin
  TruncTmp := 9223372036854775296;
  TruncTmp := Trunc(TruncTmp); // this fails on 64-bit
  Assert(TruncTmp = 9223372036854775296);
end;
Run Code Online (Sandbox Code Playgroud)

第一次机会异常在$ 0000000000405D70.消息'c0000090 FLOAT_INVALID_OPERATION'的异常类$ C0000090.

这是一个错误还是我错过了什么?

笔记:

  • 我正在使用Delphi 10.2
  • 数字< 9223372036854775296工作正常

delphi 64-bit

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

什么可能导致“BEGIN”语句“事务空闲”

我们有一个 Node.js 应用程序,它通过 pg-promise 连接到 Postgres 11 服务器 - 所有进程都在 Docker 容器中的单个云服务器上运行。
有时我们会遇到应用程序不再做出反应的情况。

上次发生这种情况时,我花了一点时间通过 pgadmin 检查数据库,它显示连接是idle in transactionwith 语句BEGIN和独占锁virtualxid
在此输入图像描述 在此输入图像描述

我认为情况是这样的:

  1. BEGIN应用程序已通过将sql 命令发送到数据库来启动事务
  2. 数据库收到此命令并启动一个新事务,从而获得模式的排他锁virtualxid
  3. 现在数据库等待应用程序发送下一条语句(直到它收到COMMITROLLBACK) - 然后它将释放模式的排他锁virtualxid
  4. 但由于某种原因,它不再获得语句:
    我认为 node.js 事件循环被阻止 - 因为当时,当我们看到这些锁时,node.js 应用程序不再记录语句。但网络服务器仍然收到请求并报告一些upstream timed out请求。

这有意义吗(我真的不确定2.和3.)?
为什么所有交易一开始都会被阻塞?这只是巧合还是显示的 SQL 可能是错误的?

顺便说一句:在这个答案中,我发现我们可以设置idle_in_transaction_session_timeout,以便这些事务将在超时后被释放 - 这很好,但我尝试了解导致此问题的原因。

postgresql node.js pg-promise

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

如何获取所有支持的时区的列表?

我们如何在运行时获取 NodeJs 中所有支持的时区的列表?

用例:

  • 我们希望在应用程序启动时进行检查,以确保主时区(通过 env-var 设置)正确)。
  • 我们想向用户显示一个列表,以便他们只能选择有效的时区

Nodejs 文档提到Node 可以与不同的 ICU 设置一起使用,因此硬编码列表(如timezones.json)将不起作用。

我发现了一些相关的问题,但似乎没有人回答这个(简单?)问题...
例如Node.js 从哪里获取时区数据?

timezone node.js

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

npm 8.5.5:@npmcli\arborist 中未执行的令牌

将 npm(通过 nvm)升级到 8.5.5 后,npm 命令不再起作用:

例如npm --verbose ls webpack失败:

npm verb stack C:\Users\marti\AppData\Roaming\nvm\v16.15.0\node_modules\npm\node_modules\@npmcli\arborist:1
npm verb stack ../../workspaces/arborist
npm verb stack ^
npm verb stack 
npm verb stack SyntaxError: Unexpected token '.'
npm verb stack     at Object.compileFunction (node:vm:352:18)
npm verb stack     at wrapSafe (node:internal/modules/cjs/loader:1033:15)
npm verb stack     at Module._compile (node:internal/modules/cjs/loader:1069:27)
npm verb stack     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
npm verb stack     at Module.load (node:internal/modules/cjs/loader:981:32)
npm verb stack     at Function.Module._load (node:internal/modules/cjs/loader:822:12)
npm verb stack     at Module.require (node:internal/modules/cjs/loader:1005:19)
npm verb stack     at …
Run Code Online (Sandbox Code Playgroud)

npm nvm npm-cli nvm-windows

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

grpc 的 gitlab-ci 构建失败

2 天前,我的 node.js 构建在 gitlab-ci 服务器上停止工作。我真的不明白为什么。更多信息:

  • package.json文件还没有改变时,CI构建停止工作
  • 即使是几天前还可以的旧 ci-build,当我重新启动它们时不再工作
  • 构建仍然适用于我的 Windows 开发机器(即使在删除 node_modules 并重新安装之后)

以下是错误日志的摘录:

> grpc@1.16.0 install /builds/vallen-bridge/source/server/node_modules/grpc
> node-pre-gyp install --fallback-to-build --library=static_library

node-pre-gyp WARN Using request for node-pre-gyp https download 
node-pre-gyp WARN Tried to download(404): https://node-precompiled-binaries.grpc.io/grpc/v1.16.0/node-v67-linux-x64-glibc.tar.gz 
node-pre-gyp WARN Pre-built binaries not found for grpc@1.16.0 and node@11.1.0 (node-v67 ABI, glibc) (falling back to source compile with node-gyp) 
node-pre-gyp WARN Pre-built binaries not installable for grpc@1.16.0 and node@11.1.0 (node-v67 ABI, glibc) (falling back to source compile …
Run Code Online (Sandbox Code Playgroud)

node.js gitlab-ci firebase-admin grpc-node

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