小编Mar*_*rer的帖子

在此版本中使用了不推荐使用的Gradle功能,使其与Gradle 5.0不兼容

我有一个gradle FAILURE:

..."Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0."
Run Code Online (Sandbox Code Playgroud)

案例描述:

  • 附加到项目代码库的下一个库:

APP/biuld.gradle

    //(Required) Writing and executing Unit Tests on the JUnit Platform 
testImplementation "org.junit.jupiter:junit-jupiter-api:5.2.0"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.2.0"
    // (Optional) If you need "Parameterized Tests"
testImplementation "org.junit.jupiter:junit-jupiter-params:5.2.0"
    // (Optional) If you also have JUnit 4-based tests
testImplementation "junit:junit:4.12"
testRuntimeOnly "org.junit.vintage:junit-vintage-engine:5.2.0"

testImplementation "io.mockk:mockk:1.8.5"
Run Code Online (Sandbox Code Playgroud)
  • 更新了gradle-wrapper.properties

    distributionUrl = https .... gradle- 4.4-all .zip to 4.7-all

  • 毕竟那个gradle成功了

  • 创造了测试calss

    @TestInstance(TestInstance.Lifecycle.PER_CLASS)
      class TestClass {
    
      @Test
      internal fun testName() {
        Assert.assertEquals(2, …
    Run Code Online (Sandbox Code Playgroud)

android unit-testing gradle kotlin junit5

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

如何使用iText设置表格单元格的背景颜色?

虽然它当然可以使用BaseColor,但默认情况下它提供的选择非常有限.

我想知道如何将自己的自定义颜色添加到文档中?

...
        PdfPTable table = new PdfPTable(3);

        PdfPCell cell = new PdfPCell(new Phrase("some clever text"));
        cell.setBackgroundColor(BaseColor.GREEN);
        table.addCell(cell);
...
Run Code Online (Sandbox Code Playgroud)

java pdf pdf-generation itext

27
推荐指数
2
解决办法
6万
查看次数

Itextsharp文本提取

我在vb.net上使用itextsharp从pdf文件中获取文本内容.该解决方案适用于某些文件,但不适用于其他甚至非常简单的文件.问题是令牌字符串值设置为null(一组空方框)

token = New iTextSharp.text.pdf.PRTokeniser(pageBytes)
    While token.NextToken()
        tknType = token.TokenType()
        tknValue = token.StringValue
Run Code Online (Sandbox Code Playgroud)

我可以确保内容的长度,但我无法获得实际的字符串内容.

我意识到这取决于pdf的字体.如果我使用Acrobat或带有Courier的PdfCreator创建一个pdf(顺便说一句,这是我的visual studio编辑器中的默认字体),我可以获得所有文本内容.如果使用不同的字体构建相同的pdf,我得到空的方框.

现在的问题是,无论字体设置如何,我如何提取文本?

谢谢

c# itextsharp

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

我在迭代时可以从std :: list中删除元素吗?

我在迭代时可以从std :: list中删除元素吗?例如:

std::list<int> lst;
//....
for (std::list<int> itr = lst.begin(); itr != lst.end(); itr++)
{
    if (*itr > 10)
         lst.remove(*itr);
}
Run Code Online (Sandbox Code Playgroud)

?为什么?

c++ stl

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

带文本的条形码使用ItextSharp

我在我的应用程序中使用iTextSharp来生成条形码.虽然一切都按照我的意愿运行,但我需要在条形码下显示条形码的值,如附图中的一个showin. 样本条形码

下面是我使用的C#代码:

Barcode39 barcodeImg = new Barcode39();
barcodeImg.Code = barcodeValue.ToString();
barcodeImg.CreateDrawingImage(System.Drawing.Color.Black, System.Drawing.Color.White).Save(stream, ImageFormat.Png);
Run Code Online (Sandbox Code Playgroud)

c# barcode itextsharp

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

从Runtime.getRuntime().exec()启动wkhtmltopdf:永远不会终止?

我是从我的Java应用程序内启动wkhtmltopdf(Tomcat服务器的一部分,Win7上64位的Eclipse赫利俄斯内调试模式下运行):我想等待它完成,然后做更多的东西.

String cmd[] = {"wkhtmltopdf", htmlPathIn, pdfPathOut};
Process proc = Runtime.getRuntime().exec( cmd, null );

proc.waitFor();
Run Code Online (Sandbox Code Playgroud)

waitFor()永远不会回来.我仍然可以在Windows任务管理器中看到该过程(我将命令行传递给exec():看起来很好).它的工作原理.wkhtmltopdf生成我期望的PDF,就在我期望的地方.我可以打开它,重命名它,无论如何,即使在进程仍在运行时(在我手动终止它之前).

从命令行,一切都很好:

c:\wrk>wkhtmltopdf C:\Temp\foo.html c:\wrk\foo.pdf
Loading pages (1/6)
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done

这个过程很好,生活还在继续.

那么是什么runtime.exec()导致wkhtmltopdf永不终止?

我可以抓住proc.getInputStream()并寻找"Done",但那是......卑鄙的.我想要更通用的东西.

我使用和不使用工作目录调用exec().我尝试过使用和不使用空的"env"数组.没有快乐.

为什么我的流程悬而未决,我该怎么做才能修复它?

PS:我用其他几个命令行应用程序试过这个,它们都表现出相同的行为.

进一步的执行困境.

我正在尝试阅读标准输出和错误,但没有成功.在命令行中,我知道应该是什么非常像我的命令行的经验,但是当我阅读proc.getInputStream返回的输入流(),我立即得到一个EOL(-1,我使用inputStream.read()).

我检查了JavaDoc for Process,并找到了这个

父进程使用这些流向子进程提供输入并从子进程获取输出.由于某些本机平台仅提供用于标准输入和输出流有限缓冲区的大小,没有及时写输入流或读出的子过程的输出流可导致并[b]子阻塞,甚至死锁[/ B].

强调补充说.所以我试过了.标准输出inputStream上的第一个'read()'被阻塞,直到我杀死进程...

与WKHTMLTOPDF

使用通用命令行ap&no params所以它应该"转储使用并终止",它会删除相应的std :: out,然后终止.

有趣!

JVM版本问题?我正在使用1.6.0_23.最新的是... v24.我刚检查了更改日志,看不到任何有希望的东西,但无论如何我都会尝试更新.


好的.不要让输入流填充或阻止它们.校验. .close()也可以防止这种情况,但不是非常明亮.

这通常有效(包括我测试过的通用命令行应用程序).

但具体而言,它会倒下.似乎wkhtmltopdf正在使用一些终端操作/光标内容来执行ASCII图形进度条.我相信这会导致inputStream立即返回EOF,而不是给我正确的值.

有任何想法吗?几乎不是一个交易破坏者,但它绝对是不错的.

java process runtime.exec wkhtmltopdf

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

生产代码 + 测试模块信息 = 不可能?

我有一个模拟类,其中包含我从模块提供的服务的简单实现。我使用的是 OpenJDK 11.03、gradle 5.2.1 和 IntelliJ 2019.2。

/main/code/myPackage/myService.java我有:

package myPackage;
class myService {
   public abstract void someFunction();
}
Run Code Online (Sandbox Code Playgroud)

在我的test/code/somePackage/myMockService我有:

package myPackage;
// no import, they're in the same package.
class myMockService extends myService {
   @Override
   public void someFunction() { System.out.prinln("Hello World"); }
}
Run Code Online (Sandbox Code Playgroud)

在我的main/code/module-info.java我有:

module myModule {
    exports somePackage;
}
Run Code Online (Sandbox Code Playgroud)

我在 a 上尝试了几种变体test/code/module-info.java,但没有成功。例如:

// "open module" lets anyone use reflection within (mostly JUnit 5 in my case)
import myPackage.myService;
import myPackage.myMockService;
open …
Run Code Online (Sandbox Code Playgroud)

java mocking junit5 openjdk-11

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

iText添加新页面

如何在iText文档中添加新页面?document.newPage();似乎不起作用.

我正在使用来自http://sourceforge.net/projects/itextrtf/的支持RTF的iText

我的部分代码:

Font titleFont = new Font(Font.COURIER, 14, Font.BOLD);
document.add(new Paragraph("Title1", titleFont));

Table table = new Table(4);
table.setBorderWidth(0);

// Filling table

document.add(table);

document.newPage();

document.add(new Paragraph("Title2", titleFont));

Table table = new Table(4);
table.setBorderWidth(0);

// Filling table

document.add(table);
Run Code Online (Sandbox Code Playgroud)

java rtf itext

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

iTextSharp 5波兰人物

我使用itextSharp有抛光字符的问题.我想从html创建pdf.一切都很好,但缺少波兰人的性格.我使用较低的功能:

    private void createPDF(string html)
    {
        //MemoryStream msOutput = new MemoryStream();
        TextReader reader = new StringReader(html);// step 1: creation of a document-object
        Document document = new Document(PageSize.A4, 30, 30, 30, 30);

        // step 2:
        // we create a writer that listens to the document
        // and directs a XML-stream to a file
        PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("Test.pdf", FileMode.Create));

        // step 3: we create a worker parse the document
        HTMLWorker worker = new HTMLWorker(document);

        // step 4: we open document …
Run Code Online (Sandbox Code Playgroud)

c# itextsharp

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

除非复制和粘贴,有没有办法共享Java详细格式化程序

在我们的商店里,我们有5-10名开发人员在使用Java工作,我们经常调试那些没有调试友好的类toString().

随着详细格式化程序来节省一天.欢呼!但只有我的一天.如果我想和我的伙伴们分享快乐,我想我必须做一些复制和粘贴,就像他们一样.

太糟糕了.我们有N个不同的版本控制系统可以在Eclipse中运行......看起来这将是人们想要传递的东西.

文件 - >导出...对话框中没有任何内容.没有通过搜索在线帮助.没有.

我设法跟踪至少一些设置/workspace/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.dbug.ui.prefs,但有理由相信它还有更多.另外,将隐藏在隐藏文件夹中的东西放入源控制中的想法使我的牙齿处于边缘.

有没有更好的方式来共享细节格式化程序?理想情况下,这将是我们可以检查我们的代码仓库并以这种方式传播的东西.

编辑:我正在使用Helios,Service Release 1,build id 20100917-0705.


除了javaLogicalStructures扩展点(用于向给定类添加逻辑结构)之外,还有一个名为detailPaneFactories.但这是为了创建窗格文本(或者由于这个扩展点),详细格式化器呈现的窗格.也不允许扩展器列出现有的详细格式化程序(或者逻辑结构).

detailPaneFactories扩展的底部确实有一些有趣的东西:

    Supplied Implementation:
    The debug platform contributes a detail pane factory providing a default 
    text source viewer detail pane. The default detail pane displays textual
    details of a selected element based on the corresponding debug model 
    presentation's implementation of computeDetail(IValue value, 
    IValueDetailListener listener). 

computeDetail听起来很有希 我会留下你的帖子(除非有人打败我...欢呼赏金).

嗯... org.eclipse.jdt.debug.ui.JavaDebugUtils.getPreferenceStore()听起来很有希望,但我还是宁愿不为此自己编写插件.

呃,好吧.这是org.eclipse.jdt.internal.debug.ui.JavaDetailFormattersManager用于加载它们的代码:

    /**
     * …
Run Code Online (Sandbox Code Playgroud)

java eclipse debugging version-control

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