Maven:如何创建临时文件夹?

空想家

我正在sql-maven-plugin执行SQL集成测试,它看起来像

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>sql-maven-plugin</artifactId>
                <version>${sql-maven-plugin.version}</version>
                <executions>
                    <execution>
                        <id>default</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>execute</goal>
                        </goals>
                        <configuration>
                            <url>${dataSource.url}</url>
                            <!-- no transaction -->
                            <autocommit>true</autocommit>
                            <sqlCommand>CREATE TABLE User
                            (
                                id             VARCHAR(255) NOT NULL,
                                userExternalId VARCHAR(255) NOT NULL,
                                email          VARCHAR(255) NOT NULL,
                                clientId       VARCHAR(255) NOT NULL,
                                clientSecret   VARCHAR(255) NOT NULL,
                                active         BOOLEAN,
                                PRIMARY KEY (id)
                            )</sqlCommand>
                        </configuration>
                    </execution>
                </executions>

                <dependencies>
                    <!-- specify the dependent jdbc driver here -->
                    <dependency>
                        <groupId>com.h2database</groupId>
                        <artifactId>h2</artifactId>
                        <version>${h2.version}</version>
                    </dependency>
                </dependencies>

                <configuration>
                    <driver>${dataSource.driver}</driver>
                    <url>${dataSource.url}</url>
                    <username>${dataSource.user}</username>
                    <password>${dataSource.password}</password>
                </configuration>

            </plugin>

我配置数据源的方式是

            <configuration>
                <driver>${dataSource.driver}</driver>
                <url>${dataSource.url}</url>
                <username>${dataSource.user}</username>
                <password>${dataSource.password}</password>
            </configuration>

当我跑步时mvn clean install,我看到的问题是

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.022s
[INFO] Finished at: Thu Aug 14 16:13:20 UTC 2014
[INFO] Final Memory: 14M/91M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:sql-maven-plugin:1.5:execute (default) on project integration: Table USER already exists; SQL statement:
[ERROR] CREATE TABLE User
[ERROR] (
[ERROR] id VARCHAR(255) NOT NULL,
[ERROR] userExternalId VARCHAR(255) NOT NULL,
[ERROR] email VARCHAR(255) NOT NULL,
[ERROR] clientId VARCHAR(255) NOT NULL,
[ERROR] clientSecret VARCHAR(255) NOT NULL,
[ERROR] active BOOLEAN,
[ERROR] PRIMARY KEY (id)
[ERROR] )
[ERROR] [42101-180]
[ERROR] -> [Help 1]
[ERROR]

这发生在我的CI管道中。我怀疑这种情况正在发生,因为该数据库存在于上次运行mvn clean install

于是,我试着用${datasource.url}作为

<dataSource.url>jdbc:h2:${project.build.outputDirectory}/oauth;create=true</dataSource.url> 

<dataSource.url>jdbc:h2:${project.build.testOutputDirectory}/oauth;create=true</dataSource.url>  

但他们都没有工作

问题在运行集成测试时,
如何在每次运行时创建一个临时目录或清理使用的现有数据库maven

大卫·曼贡

您可以使用ant插件,可以在给定阶段创建一个文件夹,然后可以在另一个阶段将其删除:

<plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.1</version>
    <executions>
        <execution>
            ....
            <configuration>
                 <task>
                    <mkdir>./your_directory_to create</mkdir>
                </task>
            </configuration>
        </execution>
    </executions>
</plugin>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Java 6中创建一个临时文件夹?

如何使用C#在本地系统中创建临时文件夹

Swift如何在临时文件夹中创建复杂的文件夹结构

在临时文件夹中创建一个文件夹

在临时文件夹中创建的许多临时magick文件

FTP 访问临时文件夹

VBScript获取临时文件夹

WordPress不使用临时文件夹

删除临时文件夹的内容

UWP临时文件夹清洁

Python-访问临时文件夹

如何更改sqlite在Ubuntu Linux R上创建etilqs文件的临时文件夹?

为什么会显示“尚未创建临时文件夹”消息?

仅在Ubuntu中为ssh会话创建临时文件夹

S3上的Spark Dataset Parquet分区创建临时文件夹

使用vimscript创建临时文件夹的最佳方法

如何从Internet临时文件夹复制文件

如何为当前用户获取临时文件夹

如何删除临时文件夹中的特定名称模式目录

Powershell强制停止后如何删除我的临时文件夹

在testclass中使用JUnit临时文件夹时出现“尚未创建文件夹”错误

Weblogic在WL_User临时文件夹中创建EAR文件夹

Python:在临时文件夹中处理_MEIPASS文件夹

在Azure Web角色的临时文件夹中创建和读取html文件并将其提供

如何在Linux中将临时文件夹(.tmp)转换为二进制文件(.bin)

在Spring Boot Test中,如何将临时文件夹映射到配置属性?

如何通过终端指定一个具有更多磁盘空间的临时文件夹?

如何从rar或tgz转换为squashfs,而不必提取到临时文件夹?

如何将临时文件夹传递给采用File作为参数(JUNIT)的方法