小编Han*_*ans的帖子

Gradle includeBuild 与实现项目

Gradle 构建系统之间includeBuild(...)的主要区别是什么?implementation(project(...))阅读文档后我无法真正看到用例差异:

  1. https://docs.gradle.org/current/userguide/declaring_dependency.html#sub:project_dependency
  2. https://docs.gradle.org/current/userguide/composite_builds.html#separate_composite

我想做的事情:为两个独立的项目共享相同的代码库:数据类(kotlix.serialization)、外部数据库 dao、接口。它不是一个完整的库,而只是一些代码片段。

如何连接 Intellij 中的两个项目以便类型提示起作用?

gradle gradle-kotlin-dsl

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

如何让 Matplotlib 图形在 Tkinter GUI 中正确滚动 + 调整大小

我有一个 Tkinter GUI,它显示一个 Matplotlib 图(Python 2.7.3 with Matplotlib 1.2.0rc2)并让用户配置图的某些方面。绘图往往会变大,因此图形被包裹在滚动画布中。配置图的一方面是改变其大小。

现在,一方面绘图正确滚动,另一方面调整大小也能正常工作,但这两种操作不能结合使用。下面是一个脚本来演示效果。(对不起,长度,我不能再短了。)您可以滚动绘图(使用滚动条),并且可以将其变得越来越小(使用按钮)。但是,无论何时滚动,图形都会重置为其原始大小。显然,我希望图形的大小不会因使用滚动条而改变。

import math
from Tkinter import Tk, Button, Frame, Canvas, Scrollbar
import Tkconstants
from matplotlib import pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg

def addScrollingFigure(figure, frame):

    # set up a canvas with scrollbars
    canvas = Canvas(frame)
    canvas.grid(row=0, column=0, sticky=Tkconstants.NSEW)

    xScrollbar = Scrollbar(frame, orient=Tkconstants.HORIZONTAL)
    yScrollbar = Scrollbar(frame)

    xScrollbar.grid(row=1, column=0, sticky=Tkconstants.EW)
    yScrollbar.grid(row=0, column=1, sticky=Tkconstants.NS)

    canvas.config(xscrollcommand=xScrollbar.set)
    xScrollbar.config(command=canvas.xview)
    canvas.config(yscrollcommand=yScrollbar.set)
    yScrollbar.config(command=canvas.yview)

    # plug in the figure
    figAgg = FigureCanvasTkAgg(figure, canvas)
    mplCanvas = …
Run Code Online (Sandbox Code Playgroud)

python tkinter matplotlib

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

如何修复 Eclipse 深色主题中选定文本项的黑色前景色

对于 Eclipse 2020-09 和 2020-12,Eclipse 深色主题在我的 Windows 10 机器上有一个问题:许多表格和对话中的选定条目,例如调试透视图中的变量,在深色上是黑色的。具有讽刺意味的是,它还显示在“颜色和字体”选择对话框中:

在此处输入图片说明

我首先注意到使用DevStyle的问题,但经过进一步检查,它似乎同样适用于本机 Eclipse“Dark Theme”以及“Spectrum (1.0.0)”插件。

不幸的是,我似乎无法找到相关设置。将主题更改为浅色和深色都没有帮助,也没有设置“强制颜色”,也没有卸载并重新安装 DevStyle。我还尝试删除工作区.metadata和项目' .project.settings然后.classpath从头开始重新设置(但徒劳无功)。

我总是可以通过在新的空工作区上全新安装来重现该问题:

  1. 下载64 位 Eclipse IDE 2020-09 安装程序2020-12 安装程序(也尝试下载和解压缩 2020-12 Java 包)。
  2. 使用 Java 11 或 14(两者都试过)安装到某个新文件夹;取消选择桌面和菜单项创建。
  3. 从新目录作为工作区开始。
  4. 在市场中,选择 DevStyle 并安装(仅尝试了所需的项目和所需的加上 CodeTogether 捆绑包),重新启动,选择 Dark Theme。
  5. 打开首选项,搜索,例如字体,选择顶部项目。
  6. 所选项目为黑底黑字,如上面的屏幕截图所示。

我已经在第二台 Windows 10 机器上复制了这个,之前没有安装工作区或 Eclipse。

当使用 Eclipse 2020-06 Java 包执行相同的步骤时,我最终得到了正确的黑白文本项。

正如 Windows 声称的那样,有问题的机器上的操作系统是最新的 Windows 10 Pro。我已将主题设置为预定义的主题(“花”)。我已切换到“Windows”主题,但这并没有改变行为(至少是现有安装的行为)。我也 ...

  • 删除了.eclipse我的 Windows 用户文件夹中的文件夹。
  • 删除了.p2我的 …

eclipse windows themes

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

Java 程序在 jpackage 时使用错误的语言环境

我正在解析表示德语风格数字的字符串(即,小数逗号和用于对千进行分组的可选句号),例如“2.804,13”;这只是使用DecimalFormat基于我的期望来完成的Locale

package loc_test;

import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Locale;

public class ParseNumbers {
    static final DecimalFormat df = (DecimalFormat) NumberFormat.getNumberInstance(Locale.GERMANY);

    public static void main(String[] args) throws Exception {
        for (String s : new String[] { "2.815,53", "2815,53" }) {
            System.out.println(String.format("%s \t-> %s", s, df.parse(s)));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这给出了所需的输出,例如,当从命令行编译并运行时:

2.815,53        -> 2815.53
2815,53         -> 2815.53
Run Code Online (Sandbox Code Playgroud)

但是,当我将其捆绑为 jpackage 映像(./gradlew jpackageImage使用 Gradle 和Badass Runtime Plugin)并运行生成的二进制文件时,输出似乎表明使用了错误的区域设置:

2.815,53    -> 2.815
2815,53     -> 281553
Run Code Online (Sandbox Code Playgroud)

我尝试了一些东西(徒劳),问题似乎并不在于代码本身:

  1. 添加Locale.setDefault(Locale.GERMANY)在 …

java locale gradle jpackage

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

如何在Matplotlib中获得一个打开和缩放的箭头

在Seaborn的小图中,我想用箭头注释一列。现在,虽然我看到这看起来似乎有点眼光,但我还是很希望这两个箭头

  1. 有一个开放的头部(即不是一个封闭的三角形作为头部,而是两条开放线)和
  2. 扩展当我调整的身影。

我发现了两种添加箭头的matplotlib方法(arrowannotate方法),但是每种方法似乎都缺少这些功能之一。这段代码并排绘制:

import seaborn as sns

sns.plt.subplot(121)
ax = sns.barplot(("x", "y", "z"), (1, 4, 7))
# head is not open
ax.arrow(0, 5, 0., -3.5, lw=1, fill=False,
         head_length=.5, head_width=.2,
         length_includes_head=True)

sns.plt.subplot(122)
ax = sns.barplot(("x", "y", "z"), (1, 4, 7))
# head does not scale with figure
ax.annotate("", xytext=(0, 5), xy=(0, 1.5),
            arrowprops=dict(arrowstyle="->, head_length = 2, head_width = .5", lw=1))

sns.plt.show()
Run Code Online (Sandbox Code Playgroud)

左箭头的头部关闭(难看),但是当我调整图形大小时,它的缩放比例很好(因为我认为头部的大小以数据单位为单位)。右箭头的头部很好看而且很张开,但是无论图形大小如何,它始终保持相同的像素大小。因此,当数字较小时,右箭头看起来相对较大:

右箭头太大

当我将图形变大时,右箭头变小-相对-而左箭头变好了:

右箭头太小

因此,有没有一种方法可以使用开放且可缩放的箭头?

python matplotlib seaborn

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

尝试从 gradle 发布到 GitHub 包时如何解决 401 授权错误

这是我第一次尝试在 GitHub 上发布包。

\n

我已经根据说明设置了我的项目\xe2\x80\x99s build.gradle - 前者的相关摘录是:

\n
publishing {\n\n    publications {\n        mavenJava(MavenPublication) {\n            artifactId = \'moss\'\n            from components.java\n        }\n    }\n\n    repositories {\n        maven {\n            name = "GitHubPackages"\n            url = "https://maven.pkg.github.com/hansi_b/moss"\n            credentials {\n                username = project.hasProperty("GITHUB_ACTOR") ? GITHUB_ACTOR : ""\n                password = project.hasProperty("GITHUB_REPO_PAT") ? GITHUB_REPO_PAT : ""\n            }\n        }\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我在用

\n
    \n
  1. 我的 GitHub 用户名是username(in GITHUB_ACTOR) 和
  2. \n
  3. 具有必要范围(AFAICS:delete:packages、repo、write:packages)的 PAT 作为password.
  4. \n
\n

两者都在我的中设置~/.gradle/gradle.properties,当我执行任务时它们看起来很println …

github gradle maven

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

与任意多个组分开

我有很多文件有很多条目(每行一个条目),我必须通过一系列的greps和seds进行过滤.这些线条的形式

a
x, y
u --> v, w
s --> p, q, r
Run Code Online (Sandbox Code Playgroud)

其中一个步骤是拆分包含-->这样的行,使得左侧和右侧的每个逗号分隔的条目(其中可以有任意多个)最终在不同的行上.即,以上行应成为:

a
x, y
u
v
w
s
p
q
r
Run Code Online (Sandbox Code Playgroud)

快速完成左侧与右侧的分离:

echo "u --> v, w" | sed 's/\(.\+\)\s*\-\->\s*\(.\+\)/\1\n\2/'
Run Code Online (Sandbox Code Playgroud)

给我

u
v, w
Run Code Online (Sandbox Code Playgroud)

但这似乎是一个死胡同,因为我无法通过管道来分裂逗号,因为这也会分裂x, y.

所以,我想知道是否有办法在sed命令中完全拆分这些行,或者我是否必须转向,例如,awk(或只是转到Python)?最好将它保持为bash管道序列.

bash sed

0
推荐指数
1
解决办法
91
查看次数