当使用带有angular2的路由器"3.0"的子路由时,不需要在父路由器配置中声明它们(之前,您必须执行类似于/child...父组件的操作).
我想配置一个全局的"找不到页面"处理程序,我可以这样做:
{ path: '**', component: PageNotFoundComponent }
Run Code Online (Sandbox Code Playgroud)
在我的应用路由模块中.
警告:如果我这样做,路由器会导航到应用程序路由模块中声明的路由,然后才能PageNotFoundComponent正常运行.但是当我尝试访问子路由时(RouterModule.forChild在某些子路由模块中使用声明),它总是导航到通配符路由.
直观地说,通配符路由应该放在所有其他路由配置的后面,因为路由器以声明顺序解析.但是在儿童路线之后似乎没有办法宣布它.在所有子路由器模块中声明通配符路由似乎也不是很优雅.
我是否遗漏了某些内容,或者在使用子路由时是否无法在Angular-2-Router-3中定义全局404页面?
我将我的 IntelliJ IDEA 安装从 2018.3 升级到 2019.1,现在我看到build.gradle了以前没有的错误。我怀疑更改了偏好,但找不到任何偏好。
我看到两种错误:
这在 2018.3 中运行良好。gradle 构建有效,即./gradlew …:build从命令行运行,从 IDE 运行 gradle 任务也是如此。
更新
我注意到在“项目结构”中,根模块(这是一个多模块构建)存在两次:一次是名称settings.gradle,一次是代码所在目录的名称。settings.gradle将名称更改为名称时在目录中,“项目结构”中的重复条目消失了,错误也build.gradle消失了。
Spring 5被宣传为"支持JDK 9",同时Spring 4.3.13的文档声明它支持Java 8(以及6和7).
这是否意味着我需要在可以之前升级到Spring 5
假设您有一个使用maven和subversion存储库的项目.它由很多模块组成.到目前为止,开发发生在主干,但现在将引入功能分支.考虑到团队中的所有开发人员应该开始使用功能分支,这必须尽可能轻松.
因此,要创建分支,您可以使用release插件为您方便地创建分支,正确更改所有模块poms的版本号,甚至更新<scm>父pom中的部分.
现在,如果要将功能分支重新集成到主干,则发布插件中没有匹配的功能 - 您必须手动执行所有操作:
reintegrate国旗<scm>手动更改部分这不仅麻烦,而且每次手动完成也容易出错(这在广泛使用特征分支时可能很常见).我知道至少第二点可以使用release:update-versions或自动化version:set,但必须有更多,对吧?我错过了什么?
我使用subversion作为scm开发了一个软件项目.到目前为止,开发总是发生在trunk,所以当需要修复bug修复时会出现问题.现在,我们想重新考虑我们的分支策略,其要求是:我们希望能够同时处理多个未来版本.
这意味着:假设,我们正在处理的当前版本是1.0.下一个计划版本是2.0,之后的版本是3.0.现在我们已经发布了1.0版本
当然,在其他两个版本中也需要在1.0中应用的修补程序.此外,2.0的功能也必须在3.0.此外,可能会计划一个次要版本,例如1.1,其中还包括新功能,并且必须单独维护.
我提出了以下分支策略:
让我再详细说明一下:在给定的示例中,我们将从trunk分支1.0版.此外,我们将从版本1.0分支2.0版,从2.0版分支3.0版.当在1.0中进行更改时,它将合并到2.0,然后合并到3.0.

这是一种有效的方法吗?它会在技术上有效吗?是否存在组织缺陷?有最佳做法吗?(所有互联网都会提出:"在主干中开发,在发布分支中维护").放弃后备箱对我来说特别奇怪 - 这是错的吗?
使用 Apache Commons-NetFTPSClient连接到现代 FTP/S 服务器不起作用。原因是它们需要 SSL 会话重用,即来自控制连接的 SSL 会话需要重新用于数据连接。
这通常可以在服务器中停用,但那是
正确的解决方案是让客户端实际重用会话。Commons-Net有一个开放的错误,但它看起来不会很快得到解决。
此外,还有一个由 Cyberduck(一个 FTP 客户端应用程序)的作者创建的“反射黑客”,在他们的错误跟踪器中进行了描述,更深入地在博客文章中进行了描述。StackOverflow 上还有一篇相关的文章描述了这个解决方案。他们使用反射来访问 JDK 的内部缓存SSLSessionContext并注入一个新条目。
在 JDK 8u161 和 9.0.4 (?) 之前,此 hack 一直运行良好,其中引入了一些更改日志中描述的 SSL更改。显然,一些实现细节发生了变化,导致黑客不再起作用。
据我所知,现在有以下选项:
SSLSessionContext实现的更改进行逆向工程以找到新的解决方法。这不仅看起来像是一项不平凡的任务 - 解决方案可能会再次变得笨拙,因此随时可能再次崩溃。任何人都可以建议如何在这里进行?
相关链接:
我正在尝试使用 Lombok 和 MapStruct 配置 SpringBoot (v2.6.2),已经配置了 Maven 编译器插件和 lombok-mapstruct-binding (annotationProcessorPaths),但没有创建 lombok 类:
pom.xml
*<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.2</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>io.knowledge</groupId>
<artifactId>knowledge</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>knowledge</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>11</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.target>11</maven.compiler.target>
<maven.compiler.source>11</maven.compiler.source>
<version.mapstruct>1.4.1.Final</version.mapstruct>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>${version.mapstruct}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude> …Run Code Online (Sandbox Code Playgroud)