Skip to content

Commit 94afc0d

Browse files
authored
Merge pull request #2 from YiZhiMCQiu/main
修复了 Java 可执行文件判断错误的问题
2 parents 66df516 + b4c3ec7 commit 94afc0d

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

PCL2.Neo/Models/Minecraft/Java/Unix.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ namespace PCL2.Neo.Models.Minecraft.Java
1111
/// </summary>
1212
internal class Unix
1313
{
14-
#warning "该方法未经过测试,可能无法正常工作 Unix/SearchJava"
14+
#warning "该方法未在 Linux 上测试,可能无法正常工作 Unix/SearchJava"
1515
public static IEnumerable<JavaEntity> SearchJava() =>
1616
FindJavaExecutablePath().Select(it => new JavaEntity(it));
1717

@@ -28,11 +28,12 @@ private static HashSet<string> FindJavaExecutablePath()
2828

2929
private static bool IsValidJavaExecutable(string filePath)
3030
{
31-
if (Directory.Exists(filePath))
32-
return false;
31+
// if (Directory.Exists(filePath))
32+
// return false;
3333

34-
return !filePath.EndsWith(".jar") && !filePath.EndsWith(".zip") && !filePath.EndsWith(".so") &&
35-
!filePath.EndsWith(".dylib");
34+
// return !filePath.EndsWith(".jar") && !filePath.EndsWith(".zip") && !filePath.EndsWith(".so") &&
35+
// !filePath.EndsWith(".dylib");
36+
return File.Exists(filePath);
3637
}
3738

3839
private static void SearchDirectoryForJava(string basePath, HashSet<string> foundJava)
@@ -41,8 +42,7 @@ private static void SearchDirectoryForJava(string basePath, HashSet<string> foun
4142
{
4243
var binDirs = Directory.EnumerateDirectories(basePath, "bin", SearchOption.AllDirectories);
4344
binDirs
44-
.SelectMany(binDir =>
45-
Directory.EnumerateDirectories(binDir, "java", SearchOption.TopDirectoryOnly))
45+
.SelectMany(binDir => Directory.EnumerateFiles(binDir, "java", SearchOption.TopDirectoryOnly))
4646
.Where(IsValidJavaExecutable)
4747
.ToList().ForEach(it => foundJava.Add(it));
4848
}

PCL2.NeoTests/Models/MainTests.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1+
using PCL2.Neo.Models.Minecraft.Java;
2+
13
namespace PCL2.Neo.Models.Tests
24
{
35
[TestClass]
46
public class MainTests
57
{
68
[TestMethod]
7-
public void JavaSearchTest()
9+
public async Task JavaSearchTest()
810
{
9-
var result = Minecraft.Java.Windows.SearchJavaAsync(fullSearch: true).Result;
10-
foreach (var item in result)
11-
{
12-
Console.WriteLine(item.Path);
11+
foreach (var javaEntity in await Java.SearchJava()) {
12+
Console.WriteLine(javaEntity.Path);
1313
}
1414
}
1515
}

0 commit comments

Comments
 (0)