我使用 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)
这会复制所需的文件,如下所示:
我想只复制没有原始oracle/update/文件夹的文件,从而产生以下文件夹结构:
依赖项 ZIP 包含不同项目使用的许多文件,因此区分 oracle 和 sql-server 文件的结构在那里是有意义的,但对于这个发行版,我不需要这些文件夹,只需要文件。
有人知道 maven- assembly-plugin 是否可以做到这一点?
提前谢谢了!
使用 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=第三]]
有什么提示吗?
我在尝试将 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\nSet 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