小编Dan*_*uez的帖子

Maven 程序集插件:包含文件而不获取其路径文件夹

我使用 maven-assemble-plugin 将依赖项 ZIP(也使用程序集插件生成)中的文件包含到最终发布的 ZIP 文件中。

问题是我想从依赖项中选择要获取的文件,但不复制这些文件所在的文件夹路径。只是文件。

例如:

<assembly>
    <formats>
        <format>zip</format>
        <format>dir</format>
    </formats>

    <includeBaseDirectory>false</includeBaseDirectory>

    <dependencySets>
        <dependencySet>
            <includes>
                <include>package:artifactId:zip:*</include>
            </includes>
            <outputDirectory>sql/update/01.00.00_to_01.01.00</outputDirectory>
            <unpack>true</unpack>
            <unpackOptions>
                <includes>
                    <include>oracle/update/1_alter_schema.sql</include>
                    <include>oracle/update/2_insert_data.sql</include>
                </includes>
            </unpackOptions>
            <useProjectArtifact>false</useProjectArtifact>
            <useTransitiveDependencies>false</useTransitiveDependencies>
        </dependencySet>
    </dependencySet>
</assembly>
Run Code Online (Sandbox Code Playgroud)

这会复制所需的文件,如下所示:

  • sql/update/01.00.00_to_01.01.00/ oracle/update/ 1_alter_schema.sql
  • sql/update/01.00.00_to_01.01.00/ oracle/update/ 2_insert_data.sql

我想只复制没有原始oracle/update/文件夹的文件,从而产生以下文件夹结构:

  • sql/update/01.00.00_to_01.01.00/1_alter_schema.sql
  • sql/update/01.00.00_to_01.01.00/2_insert_data.sql

依赖项 ZIP 包含不同项目使用的许多文件,因此区分 oracle 和 sql-server 文件的结构在那里是有意义的,但对于这个发行版,我不需要这些文件夹,只需要文件。

有人知道 maven- assembly-plugin 是否可以做到这一点?

提前谢谢了!

directory zip dependencies maven maven-assembly-plugin

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

OpenCSV CsvToBean:对于没有 BOM 的 UTF-8,未读取第一列

使用 OpenCSV 解析BOM 的 UTF-8 文档会导致第一列无法读取。提供相同的文档内容作为输入,但使用BOM 以 UTF-8 编码可以正常工作。

我专门将字符集设置为UTF-8

    fileInputStream = new FileInputStream(file);
    inputStreamReader = new InputStreamReader(fileInputStream, StandardCharsets.UTF_8);
    reader = new BufferedReader(inputStreamReader);
    HeaderColumnNameMappingStrategy<Bean> ms = new HeaderColumnNameMappingStrategy<Bean>();
    ms.setType(Bean.class);
    CsvToBean<Bean> csvToBean = new CsvToBeanBuilder<Bean>(reader).withType(Bean.class).withMappingStrategy(ms)
            .withSeparator(';').build();
    csvToBean.parse();
Run Code Online (Sandbox Code Playgroud)

我创建了一个示例项目,可以在其中重现问题: https ://github.com/dajoropo/csv2beanSample

运行单元测试,您可以看到不带 BOM 的 UTF-8 文件如何失败,而带 BOM 的文件如何正常工作。

错误出现在第二个断言中,因为未读取第一列。结果是:

[Bean [a= null , b=第二个, c=第三]]

有什么提示吗?

java csv utf-8 character-encoding opencsv

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

为什么使用带有 ASCII 字符集的 ADODB.Stream 将 ä 等特殊字符转换为 a?

我在尝试将 vb6 中的某些变量的内容输出到文本文件中时遇到问题。问题是,当扩展 ASCII 中的特殊字符显示为 \xc3\xa4、\xc3\xbc、\xc3\xa1 时,它会在输出中转换为匹配的基本 ASCII 字符,如 a、u、a。

\n\n

我尝试像 UTF-8 一样导出它,然后正确显示字符,但我需要输出为 ASCII。另外,对我来说看起来很奇怪的是文件名通常可以包含此字符(\xc3\xa4、\xc3\xbc、\xc3\xa1...)而无需替换。

\n\n

这是因为“ASCII”字符集只是基本字符集而不是扩展字符集吗?也许是因为 Windows 中配置的代码页?我尝试过其中的几个(德语、英语),结果相同。

\n\n

这是我正在使用的代码:

\n\n
Set fileStream = New ADODB.Stream\nIf Not fileStream Is Nothing Then\n    inputString = textPreAppend + inputString\n    fileStream.charSet = "ASCII"\n    fileStream.Open\n    fileStream.WriteText inputString\n    fileStream.Flush\n    fileStream.SaveToFile fileName, adSaveCreateOverWrite\n    fileStream.Flush\n    fileStream.Close\nEnd If\nSet fileStream = Nothing\n
Run Code Online (Sandbox Code Playgroud)\n\n

提前致谢!

\n

vb6 ascii ado character-encoding codepages

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