我对 Maven 和将内容上传到 Sonatype 都是新手,所以错误可能很明显,但它对我隐藏得很好。我正在尝试上传工件。
为此,我运行以下命令
mvn clean assembly:single -s settings.xml assembly:single javadoc:jar source:jar gpg:sign -Dgpg.passphrase=myPassphrase install deploy
Run Code Online (Sandbox Code Playgroud)
但是,这会导致 Nexus 无法验证 JAR 文件,因为上传中没有包含 asc 签名文件 - 这是真的,但我不明白为什么。此外,还有 .xml 文件和 .zip、.tar.gz 和 .tar.bz2 文件的签名。我还应该为罐子生成的 asc 指定什么?
下面显示了我的 settings.xml 和 pom.xml 文件:
设置.xml:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>sonatype</id>
<username>myUsername</username>
<password>myPassword</password>
</server>
</servers>
</settings>
Run Code Online (Sandbox Code Playgroud)
pom.xml:
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.github.aaryn101</groupId>
<artifactId>lol4j</artifactId>
<version>2.0</version>
<packaging>jar</packaging>
<name>lol4j</name>
<description>lol4j is a Java wrapper for the Riot Games LoL beta API.</description>
<url>https://github.com/aaryn101/lol4j</url>
<licenses> …
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个包含JPanel的JFrame,其中只包含选择RGB颜色所需的内容.我一直在搞乱JColorChooser,AbstractColorChooserPanel和ColorModel,阅读Oracle教程,但我没有理解如何开发我想要的东西.我甚至下载了OpenJDK源来获取这些类的源代码,但仍然没有.我想得到的是:
Alpha的东西应该消失,颜色代码字段应该设置为不可见但继续工作,这样我可以在单击"是"按钮时检索代码(我想在actionPerformed方法中).同样,它是覆盖paintComponent方法的一个很好的补充.
提前致谢.
编辑:这就是我现在拥有的东西(上面的照片,没有'油漆'编辑):
for (final AbstractColorChooserPanel accp : panels) {
if (accp.getDisplayName().equals("RGB")) {
JOptionPane.showOptionDialog(Main.frame, accp,
"Color selection tool", JOptionPane.OK_OPTION,
JOptionPane.QUESTION_MESSAGE, null, null, 0);
}
}
Run Code Online (Sandbox Code Playgroud)
编辑2:到目前为止,我已经能够删除alpha的东西,但我还不能"找到"显示颜色代码的标签和字段,所以他们继续显示,另外,因为我可以没有访问该字段,我无法访问颜色代码:
这是这个代码:
package edu.utils;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.lang.reflect.Array;
import java.lang.reflect.Field;
import javax.swing.JColorChooser;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.JSpinner;
import javax.swing.WindowConstants;
import javax.swing.colorchooser.AbstractColorChooserPanel; …
Run Code Online (Sandbox Code Playgroud) 我有这个类,这是文件锁定实用程序的基本方法(不与OS的锁相互作用).我们的想法是拥有一个静态HashMap,它存储对应用程序使用二进制信号量的File对象的一对引用.首次访问新文件时,该对存储在变量中.问题是,.wait()行抛出抛出:IllegalMonitorStateException,我不明白为什么,因为我已经创建了一个项目来测试这个类只有一个线程,所以这是不可能的线程访问方法不拥有对象,不是吗?
public abstract class FileLocker {
private static final HashMap<File, Semaphore> locksMap = new HashMap<>();
public synchronized static final void getLock(final File file) {
if (!FileLocker.locksMap.containsKey(file)) {
FileLocker.locksMap.put(file, new Semaphore(1, Boolean.TRUE));
}
try {
FileLocker.locksMap.get(file).wait();
} catch (final InterruptedException e) {
SysLogger.log(e, "ERR0", SysLogger.Level.CRASH);
}
if (file.isDirectory()) {
for (final File f : file.listFiles()) {
if (f.isDirectory()) {
FileLocker.getLock(f);
}
}
}
}
public synchronized static final void releaseLock(final File file) {
if (file.isDirectory()) {
for (final File f : …
Run Code Online (Sandbox Code Playgroud) 我正在使用一种方法迭代地在字符串中执行替换.
function replaceAll(srcString, target, newContent){
while (srcString.indexOf(target) != -1)
srcString = srcString.replace(target,newContent);
return srcString;
}
Run Code Online (Sandbox Code Playgroud)
但它对我想要的目标文本不起作用,主要是因为我无法想到如何正确地写出该文本:我想要删除的是字面上的"\n"
,(包括逗号和引号),那么什么作为第二个参数传递,以使其正常工作?
提前致谢.
我想有一个方法来快速将详细信息转储到日志中.它会是这样的:
public static void log(String message, Class<?> sourceClass){
dump(formattedTime+sourceClass.getName()+"line"+lineNumberfromwhichthemessagecomes
(if several occurences are found, show all of them if there's no other way to
detectwhere has the method been called from).
}
Run Code Online (Sandbox Code Playgroud)
我已经知道了关于创建一个新的Exception对象并获取其堆栈跟踪的第一行的行号的技巧,但是通过使用它我必须添加行号作为参数,因为如果你在log方法中做了这个技巧,您将始终获得相同的行号(您进行操作的行之一).
有没有办法实现这一目标)?