我想在POM中排除单个PMD规则,但它不起作用.我尝试创建一个pmd-exclude.xml(与pom.xml在同一个目录中):
<?xml version="1.0"?>
<ruleset name="remove_rules">
<description>Remove rules</description>
<rule ref="rulesets/unnecessary.xml">
<exclude name="UselessParentheses"/>
</rule>
</ruleset>
Run Code Online (Sandbox Code Playgroud)
来自http://www.ing.iac.es/~docs/external/java/pmd/howtomakearuleset.html并在pom.xml中引用它:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<sourceEncoding>utf-8</sourceEncoding>
<rulesets>
<ruleset>${pom.basedir}/pmd-exclude.xml</ruleset>
</rulesets>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
但它一直在报告这些规则.
另外:我不想指定它必须检查哪些规则,因为较新版本可以(并且将)包含新规则,我不想检查每个新版本中将运行哪些新规则.
如果我做:
ALTER TABLE testtable MODIFY mycolumn NEWDATATYPE;
Run Code Online (Sandbox Code Playgroud)
我放弃了其他定义,如NOT NULL,COMMENTS,DEFAULT值......有没有办法做到这一点?
ALTER TABLE testtable ALTER COLUMN mycolumn NEWDATATYPE;
Run Code Online (Sandbox Code Playgroud)
它完成了以下任务:更改列数据类型,不触及任何其他定义,仅在数据类型不兼容时给出错误等等(但您可以指定USING).
我将尝试一种解决方法,但我做了一个查询,以确定不同表中的几个列来更新数据类型,现在我已经确定这些数据已丢失,因此我将不得不重新考虑这些信息.
是否有可能获得应用程序中所有可用servlet的列表?
我正在编写一个Web应用程序,它将暴露许多servlet,我想使用HttpUnit来测试每个servlet,看看它是否正在返回(或不是!).
由于很多它将返回一个简单的XML响应,因此不为每个响应编写一个测试用例,只验证它是否正常工作(例如,数据库更改并没有阻止此servlet工作).
有没有办法使用 Spring Boot运行基于 Flyway Java 的回调?我正在转换一个现有项目,在每次迁移后都会更新一些视图定义,这是由 Java 完成的,因为它需要一些额外的逻辑。我知道它可以在 pl/pgsql 中完成(我们正在使用 Postgres)但它已经在 Java 中完成和测试。
Spring boot 文档说这是可能的,但它列出了回调脚本应该与迁移位于同一目录中,也许这仅适用于基于 SQL 的回调。
此代码在没有 Spring Boot 的情况下工作:
Flyway flyway = new Flyway();
flyway.setDataSource(this.getDataSource());
flyway.setLocations("/db/migration");
flyway.setCallbacks(new LogMaintenanceFlywayCallback());
flyway.migrate();
Run Code Online (Sandbox Code Playgroud)
我有几次迁移,/db/migration每次迁移之后我都需要执行我的回调。它适用于我当前的项目,我需要在 Spring Boot 中执行相同的操作(或其他方式来获得相同的行为)。
我已经使用 spring boot 和 Google 成功完成了 OAuth2 登录,但我想将登录限制在特定域(我们使用的是 Google Apps for Work)。
我认为我应该通过扩展类 OAuth2ClientAuthenticationProcessingFilter (如本线程中所指定)来处理,但我不确定如何做到这一点。
基本上,我想使用 Google OAuth 2.0 作为身份提供者,但必须只接受公司用户 (@company.com)。