小编mik*_*ent的帖子

使用javadoc忽略小错误

我正在尝试使用javadoc从一个或两个下载的jar文件生成文档(当然,在提取所有内容之后,使用源代码).

但是使用javadoc,即使在Ant文件中,我也因为愚蠢的事情而无法生成这个,特别是"包XXX不存在"和"找不到符号"......我只想让javadoc放入这些文本html文档中的东西(外部引用),但要记录它找到的所有.java文件...

NB对于任何感兴趣的人来说这是包含下载文件(包含源代码)的下载页面,我正在尝试生成API文档:http://logback.qos.ch/download.html

在Mark Rotteveel的帮助下,我的Ant构建文件现在看起来像这样:

<?xml version="1.0" ?>
<project name="document logback core" default="doc">
    <target name="doc">
        <mkdir dir="javadoc" />
        <property name="excludedPackages"
            value="org.codehaus.*,javax.mail.*"/>
        <javadoc destdir="javadoc" sourcepath="src" packagenames="main.*" 
        excludepackagenames="${excludedPackages}"
        additionalparam="-Xdoclint:none" />
    </target>
</project>
Run Code Online (Sandbox Code Playgroud)

...但它仍然会给出错误1)关于未找到的包,包括"org.codehaus.[xxx ...]"和"javax.mail.[xxx ...]"和2)关于未找到的符号(虽然如果我可以解决丢失的包错误,这可能会消失).

注意,构建被认为是成功的,但我得到的投诉是没有找到源文件(确实有评论的.java文件),并且在\ javadoc下根本没有生成html.

之后,继Tony Pierce成功制作这些文档之后

安装Ant 1.9.6,相应地更改路径,检查以确保这是正在使用的版本...再试一次.再次失败.这是我输出的结束:

[javadoc] D:\ Desktop\Downloads\logback-1.1.7.ta​​r\logback-1.1.7\logback-core\src\test\java\ch\qos\logback\core\appender\ConsoleAppenderTest.java:32:错误:包org.junit不存在
[javadoc] import static org.junit.Assert.assertEquals;
[javadoc] _______________________ ^

[javadoc] javadoc:错误 - 找不到要发布的公共或受保护类.
[javadoc] 1错误
[javadoc] 100警告建立

成功总时间:2秒

它确实创建了javadoc文件夹......但这是空的.

NB关于上面的"包不存在"错误(还有很多其他的):这个特别神秘,因为我认为Ant默认包含junit(NB我是Ant的一个完整的新手,只是通过"Ant in Action" ).

但是...... 根据这本让Ant自己被包含在内的Ant javac任务,你可以设置includeAntRuntime="true"junit.jar.不幸的是,该javadoc任务不支持此属性.

后来还是

我的想法有点混乱,说实话:我发现从第三方源jar编译javadocs的最简单方法就是提取然后使用命令行,通常是:

javadoc -d …

java javadoc

12
推荐指数
2
解决办法
7043
查看次数

使用JUnit @Rule使用Mockito进行参数化测试?

这是从这个问题开始的:我被要求开始一个新问题.

问题是我对JUnit不够了解Rule,或者在这里发生了什么Runners等等,以Jeff Bowman提到的方式解决问题.

java junit rule mockito parameterized-tests

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

有什么方法可以找出 MutationObserver 是断开连接还是观察?

看起来 显示了方法的完整列表。

显然,找到解决这个问题的方法并不难……但是为了优雅起见,应该有一个方法isConnected,不是吗?

javascript mutation-observers

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

Eclipse中的Gradle构建文件自动格式化?

Eclipse火星.

我已经安装了"极简主义"语法高亮编辑器插件......作为讨论这里,但有目前得到自动格式化的.gradle文件什么办法?

很可能是有一个Groovy自动格式化编辑器插件......但是(我认为)不会为Gradle执行所有语法高亮显示.

Downvote 2018-06-15
不,那太疯狂了.你必须礼貌地解释那个疯狂的downvote是什么.否则我们只需要假设你不理解这个问题.

eclipse autoformatting gradle

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

我现在(自 2022 年 6 月起)如何使用 Python 脚本通过 Gmail 发送电子邮件?

我有一个 Python 脚本可以做到这一点。我必须在 Gmail 帐户中启用某些功能。大概三年来,脚本都是这样运行的:

import smtplib, ssl
...
subject = 'some subject message'
body = """text body of the email"""
sender_email = 'my_gmail_account_name@gmail.com'
receiver_email = 'some_recipient@something.com'

# Create a multipart message and set headers
message = MIMEMultipart()
message['From'] = 'Mike'
message['To'] = receiver_email
message['Subject'] = subject
# Add body to email
message.attach(MIMEText(body, 'plain'))
# Open file in binary mode
with open( client_zip_filename, 'rb') as attachment:
    # Add file as application/octet-stream
    # Email client can usually download this automatically as …
Run Code Online (Sandbox Code Playgroud)

python gmail email-client google-cloud-platform

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

python GUI与Swing相比?

我想说"与Swing相比最好的python GUI"......但严厉地说我的问题是"过于主观".我为机器中的确定性幽灵道歉.

我目前正在使用Jython ...在使用Java数年之后,它已经使用了6个月.我喜欢Jython能够调用所有Java类,以及简化从Java方式到Python方式的转换.

但考虑到这一点,我意识到到目前为止我使用的最常见的Java包是Swing的.我花了很多年与Swing搏斗,最后认为我有一种身体锁定的野兽.顺便说一句,我也认为Swing很棒,而且我不得不说我是键盘狂热者,所以不想切换到你没有权力的图形用户界面. ActionMap-InputMap,可能并不是很多人关心的.真的让我回到JTree和JTable上也是一种耻辱,花了很多时间撕掉我头发上留下的东西.说真的,他们非常强大......

但与此同时,我很快就迷上了Python的做事方式.我可以并且打算坚持使用Jython.但我只是想知道各种CPython GUI是什么样的......特别是它们的功能和多功能性与Swing相比如何?

补充:我被要求提供一些细节:好的,如果你想要的话,坐在滚动窗格上的树GUI对象怎么样,可以使用键盘来控制导航和折叠/扩展节点...滚动自动发生(如果你想要的话)和你可以控制外观和感觉的地方等.或者你可以全面控制调整大小的表格,以及当单个细胞获得/失去焦点时会发生什么.您可以在哪里子类化渲染器和编辑器.正如我在评论中所说的那样,一个热衷于此的人,以及Swing的大用户,但仍然转向了CPython GUI并且感到高兴/不快......可能是回答这个问题的理想人选.

python comparison user-interface swing jython

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

Gradle多个版本的GRADLE

为了清楚起见:这不是关于多个版本的依赖项,而是关于Gradle自己的jar的多个版本.

我认为可能有答案......但没有!

这是Gradle 2.14,带有Windows 10操作系统.

我发现gradle在这个项目的".gradle"目录下不断构建一个新目录:除了合法的"2.14"目录外,它还在构建一个"2.2.1 \"目录.

我查看了我安装Gradle的目录:令人费解的是我发现了Gradle的jar文件的多个版本:不仅2.14,而且2.13,1.7和是,2.2.1 ..

所以我决定手动删除2.2.1.罐子.它停止构建"假的"2.2.1目录.

有人能告诉我Gradle如何决定它使用的是哪个版本?我真的想摆脱那些非2.14的罐子,并找到一种方法来防止其他版本以某种方式爬回来!

java multiple-versions gradle

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

我可以使用`fetch`从另一个运行JS脚本吗?

在这里降低中级JS/JQ人.

我正试图通过使用JS来逃避回调地狱fetch.这被称为"AJAX的替代品",似乎非常强大.我可以看到你如何用它来获取HTML和JSON对象......但是它能够运行你所在的另一个JS脚本吗?也许ES6中还有另一个新功能:

$.getScript( 'xxx.js' );
Run Code Online (Sandbox Code Playgroud)

$.ajax({ url : 'xxx.js', dataType : "script", });
Run Code Online (Sandbox Code Playgroud)

...?

后来,回应约瑟夫梦想家:

试过这个:

const createdScript = $(document.createElement('script')).attr('src', 'generic.js');
fetch( createdScript )...
Run Code Online (Sandbox Code Playgroud)

...它没有运行脚本"generic.js".你的意思是什么?

javascript jquery asynchronous ecmascript-6

8
推荐指数
3
解决办法
7985
查看次数

Event.preventDefault 似乎不起作用(异步上下文)

我意识到有一些关于preventDefault不工作的问题。但我的问题是关于相当简单的情况,即您有一个async函数并且抛出错误:

throw 'error of some kind';
Run Code Online (Sandbox Code Playgroud)

...然后你想要有一个“清理”功能来捕获任何和所有此类错误。然后这将按预期工作:

window.addEventListener('unhandledrejection', function (event) {
    console.log( 'unhandled Promise rejection, event: ', event );

    // event.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)

但如果我取消注释event.preventDefault(),我希望看到该throw消息不会作为错误打印到控制台。但它总是被打印出来。

我检查了一下以确保在这种情况下event确实如此cancelable。据称确实如此。

PS从我的实验看来是这样的

window.onunhandledrejection = event => {
    ...
};
Run Code Online (Sandbox Code Playgroud)

只是针对同一“unhandledrejection”事件实现同一侦听器的另一种方法。使用event.preventDefault()那里似乎也不起作用。

编辑

经过几次实验后,我似乎发现防止这种情况发生的唯一方法是try...catch在某个时刻吞掉错误(使用 ),最好是在堆栈中的最高async调用处(或者更确切地说,在函数调用序列中async),如果可以确定的话。

throw 'error of some kind';
Run Code Online (Sandbox Code Playgroud)

javascript error-handling firefox unhandled-exception promise

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

我如何使用unittest.TestResult?

我只是在短时间内使用unittest.我正在使用Jython 2.7.10"最终版本"

在解释TestResult的Python 2.7文档中,它说:

TestResult类的以下方法用于维护内部数据结构,并且可以在子类中进行扩展以支持其他报告要求.这对于构建在运行测试时支持交互式报告的工具特别有用.

startTest(test)... stopTest(test)... startTestRun()... stopTestRun()

这就是我想要做的......但我无法弄清楚你如何使用TestResult.这是一个SSCCE ......

import unittest

class TestResultX( unittest.TestResult ):
    def startTest( self, test ):
        print( '# blip')
        unittest.TestResult.startTest( self, test )
    def stopTest( self, test ):
        print( '# blop')
        unittest.TestResult.stopTest( self, test )
    def startTestRun( self ):
        print( '# blep')
        unittest.TestResult.startTestRun( self )
    def stopTestRun( self ):
        print( '# blap')
        unittest.TestResult.stopTestRun( self )

class TestCaseX( unittest.TestCase ):
    def test_nonsense(self):
        print( '# wotcha' )
        self.assertTrue( False )

    def run( self, test_result=None ):
        print( …
Run Code Online (Sandbox Code Playgroud)

python unit-testing jython

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